gecko-dev/security/manager/ssl/LibSecret.h
Dana Keeler 74e6b5cabe bug 1498909 - dynamically load libsecret at runtime if available r=franziskus,jcj
Enough linux-based systems don't have libsecret that we can't make it a
requirement on linux. For those that do, however, we can dynamically load the
library at runtime. For those that don't, we can fall back to NSS.

Differential Revision: https://phabricator.services.mozilla.com/D9969

--HG--
extra : moz-landing-system : lando
2019-01-03 00:39:45 +00:00

32 lines
933 B
C++

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef LibSecret_h
#define LibSecret_h
#include "OSKeyStore.h"
#include "nsString.h"
nsresult MaybeLoadLibSecret();
class LibSecret final : public AbstractOSKeyStore {
public:
LibSecret();
virtual nsresult RetrieveSecret(const nsACString& label,
/* out */ nsACString& secret) override;
virtual nsresult StoreSecret(const nsACString& secret,
const nsACString& label) override;
virtual nsresult DeleteSecret(const nsACString& label) override;
virtual nsresult Lock() override;
virtual nsresult Unlock() override;
virtual ~LibSecret();
};
#endif // LibSecret_h