/*
* Copyright © 2019 Red Hat, Inc
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see .
*
* Authors:
* Alexander Larsson
*/
#ifndef __FLATPAK_AUTH_H__
#define __FLATPAK_AUTH_H__
#include
#include "flatpak-dbus-generated.h"
#define FLATPAK_AUTHENTICATOR_OBJECT_PATH "/org/freedesktop/Flatpak/Authenticator"
#define FLATPAK_AUTHENTICATOR_REQUEST_OBJECT_PATH_PREFIX "/org/freedesktop/Flatpak/Authenticator/request/"
#define FLATPAK_REMOTE_CONFIG_AUTHENTICATOR_NAME "xa.authenticator-name"
#define FLATPAK_REMOTE_CONFIG_AUTHENTICATOR_OPTIONS_PREFIX "xa.authenticator-options."
enum {
FLATPAK_AUTH_RESPONSE_OK,
FLATPAK_AUTH_RESPONSE_CANCELLED,
FLATPAK_AUTH_RESPONSE_ERROR,
};
typedef FlatpakAuthenticator AutoFlatpakAuthenticator;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoFlatpakAuthenticator, g_object_unref)
typedef FlatpakAuthenticatorRequest AutoFlatpakAuthenticatorRequest;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoFlatpakAuthenticatorRequest, g_object_unref)
FlatpakAuthenticator * flatpak_auth_new_for_remote (FlatpakDir *dir,
const char *remote,
GCancellable *cancellable,
GError **error);
FlatpakAuthenticatorRequest *flatpak_auth_create_request (FlatpakAuthenticator *authenticator,
GCancellable *cancellable,
GError **error);
gboolean flatpak_auth_request_ref_tokens (FlatpakAuthenticator *authenticator,
FlatpakAuthenticatorRequest *request,
const char *remote,
const char *remote_uri,
GVariant *refs,
GVariant *options,
const char *parent_window,
GCancellable *cancellable,
GError **error);
char * flatpak_auth_create_request_path (const char *peer,
const char *token,
GError **error);
#endif /* __FLATPAK_AUTH_H__ */