~ci-train-bot/unity/unity-ubuntu-yakkety-2192

« back to all changes in this revision

Viewing changes to lockscreen/UserAuthenticator.h

  • Committer: CI bot
  • Author(s): Andrea Azzarone
  • Date: 2014-03-11 18:36:57 UTC
  • mfrom: (3566.5.457 unity)
  • Revision ID: ps-jenkins@lists.canonical.com-20140311183657-b3haqqvvr2ctp9u9
Implement the lockscreen in Unity that looks like unity-greeter. Also allow to fallback to lightdm + greeter (tty switching) in case you need more pam power. Fixes: 878836, 1266464, 1282798

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// -*- Mode: C++; indent-tabs-mode: nil; tab-width: 2 -*-
 
2
/*
 
3
 * Copyright (C) 2013 Canonical Ltd
 
4
 *
 
5
 * This program is free software: you can redistribute it and/or modify
 
6
 * it under the terms of the GNU General Public License version 3 as
 
7
 * published by the Free Software Foundation.
 
8
 *
 
9
 * This program is distributed in the hope that it will be useful,
 
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
12
 * GNU General Public License for more details.
 
13
 *
 
14
 * You should have received a copy of the GNU General Public License
 
15
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
16
 *
 
17
 * Authored by: Andrea Azzarone <andrea.azzarone@canonical.com>
 
18
 */
 
19
 
 
20
#ifndef UNITY_USER_AUTHENTICATOR_H
 
21
#define UNITY_USER_AUTHENTICATOR_H
 
22
 
 
23
#include <future>
 
24
#include <functional>
 
25
#include <memory>
 
26
#include <sigc++/signal.h>
 
27
#include <string>
 
28
 
 
29
namespace unity
 
30
{
 
31
namespace lockscreen
 
32
{
 
33
 
 
34
typedef std::shared_ptr<std::promise<std::string>> PromiseAuthCodePtr;
 
35
 
 
36
class UserAuthenticator
 
37
{
 
38
public:
 
39
  typedef std::function<void(bool)> AuthenticateEndCallback;
 
40
 
 
41
  virtual ~UserAuthenticator() = default;
 
42
 
 
43
  // Authenticate the user in a background thread.
 
44
  virtual bool AuthenticateStart(std::string const& username, AuthenticateEndCallback const&) = 0;
 
45
 
 
46
  sigc::signal<void, std::string, PromiseAuthCodePtr const&> echo_on_requested;
 
47
  sigc::signal<void, std::string, PromiseAuthCodePtr const&> echo_off_requested;
 
48
  sigc::signal<void, std::string> message_requested;
 
49
  sigc::signal<void, std::string> error_requested;
 
50
  sigc::signal<void> clear_prompts;
 
51
};
 
52
 
 
53
} // lockscreen
 
54
} // unity
 
55
 
 
56
 #endif // UNITY_USER_AUTHENTICATOR_H