1
/* * This file is part of Maliit framework *
3
* Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
6
* Contact: maliit-discuss@lists.maliit.org
8
* This library is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License version 2.1 as published by the Free Software Foundation
11
* and appearing in the file LICENSE.LGPL included in the packaging
15
#ifndef MIMSERVERLOGIC_H
16
#define MIMSERVERLOGIC_H
20
#include <QSharedPointer>
22
#include <tr1/functional>
24
//! Walks over widget hierarchy, if used with
25
//! visitWidgetHierarchy. Return true if children of
26
//! current widget shall be visited, too.
27
typedef std::tr1::function<bool (QWidget *)> WidgetVisitor;
29
void visitWidgetHierarchy(WidgetVisitor visitor, QWidget *widget);
33
class AbstractSurfaceGroupFactory;
37
class MImAbstractServerLogic : public QObject
42
explicit MImAbstractServerLogic(QObject *parent = 0);
43
virtual ~MImAbstractServerLogic() = 0;
45
//! Return factory for creating surface groups
46
virtual QSharedPointer<Maliit::Server::AbstractSurfaceGroupFactory> surfaceGroupFactory() const = 0;
49
virtual void inputPassthrough(const QRegion ®ion) = 0;
50
virtual void appOrientationAboutToChange(int toAngle) = 0;
51
virtual void appOrientationChangeFinished(int toAngle) = 0;
52
virtual void applicationFocusChanged(WId remoteWinId) = 0;
53
virtual void pluginLoaded() = 0;
56
void applicationWindowGone();
59
#endif // MIMSERVERLOGIC_H