diff options
author | Vivien Kraus <vivien@planete-kraus.eu> | 2021-11-12 15:03:21 +0000 |
---|---|---|
committer | Vivien Kraus <vivien@planete-kraus.eu> | 2021-11-12 17:47:24 +0000 |
commit | fdfc737ce34840a768c98aa370725dbe650a6a3c (patch) | |
tree | 77430f7155e9ace134e9a16c94ddf3fa653b7cf5 /src | |
parent | 2cbef4cfeb856327bb2794963ac99730d190bead (diff) |
Client: Add a hello world Vala program.
Diffstat (limited to 'src')
-rw-r--r-- | src/client/Makefile.am | 20 | ||||
-rw-r--r-- | src/client/libwebidoidc-client.c | 17 | ||||
-rw-r--r-- | src/scm/webid-oidc/client/reverse-stubs.scm | 4 | ||||
-rw-r--r-- | src/ui/Makefile.am | 16 | ||||
-rw-r--r-- | src/ui/main.vala | 31 |
5 files changed, 70 insertions, 18 deletions
diff --git a/src/client/Makefile.am b/src/client/Makefile.am index f447adf..60035de 100644 --- a/src/client/Makefile.am +++ b/src/client/Makefile.am @@ -40,18 +40,22 @@ EXTRA_DIST += %reldir%/Disfluid-0.metadata %reldir%/disfluid-0-custom.vala CLEANFILES += %reldir%/vapi-generation -%reldir%/Disfluid-0.gir: %reldir%/Disfluid-0.h +AM_VALAFLAGS += \ + --vapidir=$(abs_top_srcdir)/%reldir% \ + --pkg=disfluid-0 + +$(srcdir)/%reldir%/Disfluid-0.gir: %reldir%/Disfluid-0.h $(AM_V_GEN) $(G_IR_SCANNER) -n Disfluid --nsversion=0 --header-only --warn-all -o $@-t $< - @mv $@-t $(srcdir)/$@ + @mv $@-t $@ -%reldir%/Disfluid-0.typelib: %reldir%/Disfluid-0.gir - $(AM_V_GEN) $(G_IR_COMPILER) -o $@-t --shared-library=libwebidoidc $(srcdir)/$< - @mv $@-t $(srcdir)/$@ +$(srcdir)/%reldir%/Disfluid-0.typelib: %reldir%/Disfluid-0.gir + $(AM_V_GEN) $(G_IR_COMPILER) -o $@-t --shared-library=libwebidoidc $< + @mv $@-t $@ -%reldir%/disfluid-0.vapi: %reldir%/Disfluid-0.gir %reldir%/Disfluid-0.metadata %reldir%/disfluid-0-custom.vala +$(srcdir)/%reldir%/disfluid-0.vapi: %reldir%/Disfluid-0.gir %reldir%/Disfluid-0.metadata %reldir%/disfluid-0-custom.vala @rm -rf %reldir%/vapi-generation @mkdir %reldir%/vapi-generation - $(AM_V_GEN) $(VAPIGEN) --library disfluid-0 -d %reldir%/vapi-generation $(srcdir)/$< --metadatadir=$(srcdir)/%reldir% $(srcdir)/%reldir%/disfluid-0-custom.vala + $(AM_V_GEN) $(VAPIGEN) --library disfluid-0 -d %reldir%/vapi-generation $< --metadatadir=$(srcdir)/%reldir% $(srcdir)/%reldir%/disfluid-0-custom.vala @mv %reldir%/vapi-generation/disfluid-0.vapi $@-t @rmdir %reldir%/vapi-generation - @mv $@-t $(srcdir)/$@ + @mv $@-t $@ diff --git a/src/client/libwebidoidc-client.c b/src/client/libwebidoidc-client.c index 46deecc..4937135 100644 --- a/src/client/libwebidoidc-client.c +++ b/src/client/libwebidoidc-client.c @@ -22,8 +22,8 @@ struct DisfluidApi { SCM scm_make_client; SCM scm_get_client_id; - SCM scm_get_key_pair; - SCM scm_get_redirect_uri; + SCM scm_get_client_jwk; + SCM scm_get_client_redirect_uri; SCM scm_make_account_full; SCM scm_get_account_subject; SCM scm_get_account_issuer; @@ -49,10 +49,11 @@ inner_guile (void *data) scm_c_public_ref ("webid-oidc client reverse-stubs", "make-client"); api.scm_get_client_id = scm_c_public_ref ("webid-oidc client reverse-stubs", "get-client-id"); - api.scm_get_key_pair = - scm_c_public_ref ("webid-oidc client reverse-stubs", "get-key-pair"); - api.scm_get_redirect_uri = - scm_c_public_ref ("webid-oidc client reverse-stubs", "get-redirect-uri"); + api.scm_get_client_jwk = + scm_c_public_ref ("webid-oidc client reverse-stubs", "get-client-jwk"); + api.scm_get_client_redirect_uri = + scm_c_public_ref ("webid-oidc client reverse-stubs", + "get-client-redirect-uri"); api.scm_make_account_full = scm_c_public_ref ("webid-oidc client reverse-stubs", "make-account-full"); api.scm_get_account_subject = @@ -167,7 +168,7 @@ disfluid_client_get_key_pair (const struct DisfluidClient *client, const struct DisfluidApi *api, size_t start, size_t max, char *jwk) { - SCM scm_jwk = scm_call_1 (api->scm_get_key_pair, client->object); + SCM scm_jwk = scm_call_1 (api->scm_get_client_jwk, client->object); return copy_scm_string (scm_jwk, start, max, jwk); } @@ -177,7 +178,7 @@ disfluid_client_get_redirect_uri (const struct DisfluidClient *client, size_t start, size_t max, char *redirect_uri) { - SCM scm_uri = scm_call_1 (api->scm_get_redirect_uri, client->object); + SCM scm_uri = scm_call_1 (api->scm_get_client_redirect_uri, client->object); return copy_scm_string (scm_uri, start, max, redirect_uri); } diff --git a/src/scm/webid-oidc/client/reverse-stubs.scm b/src/scm/webid-oidc/client/reverse-stubs.scm index 5a68525..641ee84 100644 --- a/src/scm/webid-oidc/client/reverse-stubs.scm +++ b/src/scm/webid-oidc/client/reverse-stubs.scm @@ -56,10 +56,10 @@ (define (get-client-id client) (uri->string (client-id client))) -(define (get-key-pair client) +(define (get-client-jwk client) (stubs:scm->json-string (key->jwk (key-pair client)))) -(define (get-redirect-uri client) +(define (get-client-redirect-uri client) (uri->string (redirect-uri client))) (define (make-account-full subject issuer key-pair id-token-header id-token access-token refresh-token) diff --git a/src/ui/Makefile.am b/src/ui/Makefile.am index 0d04326..94e96d2 100644 --- a/src/ui/Makefile.am +++ b/src/ui/Makefile.am @@ -27,3 +27,19 @@ dist_uipkgdata_DATA = \ %reldir%/loading-page.glade \ %reldir%/new-page.glade \ %reldir%/updated-page.glade + +libexec_PROGRAMS += %reldir%/disfluid-gui + +%canon_reldir%_disfluid_gui_SOURCES = \ + %reldir%/main.vala + +%canon_reldir%_disfluid_gui_CFLAGS = \ + $(AM_CFLAGS) \ + $(GLIB_CFLAGS) \ + $(GOBJECT_CFLAGS) \ + -include config.h + +%canon_reldir%_disfluid_gui_LDADD = \ + $(GLIB_LIBS) \ + $(GOBJECT_LIBS) \ + $(lib_LTLIBRARIES) diff --git a/src/ui/main.vala b/src/ui/main.vala new file mode 100644 index 0000000..e15710d --- /dev/null +++ b/src/ui/main.vala @@ -0,0 +1,31 @@ +// disfluid, implementation of the Solid specification +// Copyright (C) 2021 Vivien Kraus + +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. + +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see <https://www.gnu.org/licenses/>. + +namespace Disfluid { + class Main: GLib.Object { + public static int main (string[] args) { + int return_code = 1; + Disfluid.Api.init ((api) => { + foreach (var arg in args) { + stdout.printf ("%s\n", arg); + } + return_code = 0; + return null; + }); + return return_code; + } + } +}
\ No newline at end of file |