~timo-jyrinki/unity/ubuntu.5200

55.909.9 by Neil Jagdish Patel
Update and add models that use the new Category interface
1
// -*- Mode: C++; indent-tabs-mode: nil; tab-width: 2 -*-
2
/*
3
 * Copyright (C) 2011 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: Neil Jagdish Patel <neil.patel@canonical.com>
18
 */
19
55.909.17 by Neil Jagdish Patel
Starting filter tests
20
#ifndef UNITY_CATEGORIES_H
21
#define UNITY_CATEGORIES_H
55.909.9 by Neil Jagdish Patel
Update and add models that use the new Category interface
22
55.909.30 by Neil Jagdish Patel
s/boost::shared_ptr/std::shared_ptr
23
#include <memory>
55.909.9 by Neil Jagdish Patel
Update and add models that use the new Category interface
24
25
#include "Model.h"
55.909.12 by Neil Jagdish Patel
Clean up Model implementation and add tests, incliding support for testing dbus-based services
26
#include "Category.h"
55.909.9 by Neil Jagdish Patel
Update and add models that use the new Category interface
27
55.909.19 by Neil Jagdish Patel
update to coding style
28
namespace unity
29
{
30
namespace dash
31
{
55.909.9 by Neil Jagdish Patel
Update and add models that use the new Category interface
32
55.909.13 by Neil Jagdish Patel
Make the naming even nicer
33
class Categories : public Model<Category>
55.909.9 by Neil Jagdish Patel
Update and add models that use the new Category interface
34
{
35
public:
55.909.30 by Neil Jagdish Patel
s/boost::shared_ptr/std::shared_ptr
36
  typedef std::shared_ptr<Categories> Ptr;
55.909.9 by Neil Jagdish Patel
Update and add models that use the new Category interface
37
55.909.14 by Neil Jagdish Patel
Make the Results and Categories wrapper a bit nicer, make the test service exit easily as it now exports a controller object. All is fine with the world right now
38
  Categories();
55.1359.3 by Mikkel Kamstrup Erlandsen
WIP Start implementing a HomeLens class in UnityCore that extends the Lens class. The plan is to use it to make home screen rendering use stock lens rendering mechanisms
39
  Categories(ModelType model_type);
55.909.14 by Neil Jagdish Patel
Make the Results and Categories wrapper a bit nicer, make the test service exit easily as it now exports a controller object. All is fine with the world right now
40
41
  sigc::signal<void, Category const&> category_added;
42
  sigc::signal<void, Category const&> category_changed;
43
  sigc::signal<void, Category const&> category_removed;
44
45
private:
46
  void OnRowAdded(Category& category);
47
  void OnRowChanged(Category& category);
48
  void OnRowRemoved(Category& category);
55.909.9 by Neil Jagdish Patel
Update and add models that use the new Category interface
49
};
50
51
}
52
}
53
54
#endif