~brandontschaefer/unity/bump-to-new-nux-abi

3611.4.27 by Andrea Azzarone
Add UpstartWrapper and proper start/stop unity-panel-service in lockscreen mode.
1
// -*- Mode: C++; indent-tabs-mode: nil; tab-width: 2 -*-
2
/*
3
* Copyright (C) 2014 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_UPSTART_WRAPPER
21
#define UNITY_UPSTART_WRAPPER
22
23
#include <memory>
24
25
namespace unity
26
{
27
28
class UpstartWrapper
29
{
30
public:
31
  typedef std::shared_ptr<UpstartWrapper> Ptr;
32
33
  UpstartWrapper();
34
  ~UpstartWrapper();
35
36
  void Emit(std::string const& name);
37
3566.5.451 by Andrea Azzarone
Fix failing tests in upstart wrapper.
38
protected:
39
  struct TestMode {};
40
  UpstartWrapper(TestMode const&);
41
3611.4.27 by Andrea Azzarone
Add UpstartWrapper and proper start/stop unity-panel-service in lockscreen mode.
42
private:
43
  // Noncopyable
44
  UpstartWrapper(UpstartWrapper const&) = delete;
45
  UpstartWrapper& operator=(UpstartWrapper const&) = delete;
46
47
  class Impl;
48
  std::unique_ptr<Impl> pimpl_;
49
};
50
51
}
52
53
#endif