diff options
author | Bocklage, Jens <Jens_Bocklage@mentor.com> | 2017-01-18 15:25:38 +0100 |
---|---|---|
committer | Bocklage, Jens <Jens_Bocklage@mentor.com> | 2017-01-18 15:25:38 +0100 |
commit | 0592a405aa68f3baf6773795efa5522e4ee16779 (patch) | |
tree | a154927827fee732c65947f4eae171658f63fb77 /interfaces/include | |
parent | 6fcde5166305cd40b5816c4495290984ca925ab6 (diff) |
Initial source commit
Taken from https://gerrit.automotivelinux.org/gerrit/p/staging/HomeScreen.git
Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
Diffstat (limited to 'interfaces/include')
-rw-r--r-- | interfaces/include/appframework.hpp | 66 | ||||
-rw-r--r-- | interfaces/include/daynightmode.hpp | 29 | ||||
-rw-r--r-- | interfaces/include/homescreen.hpp | 23 | ||||
-rw-r--r-- | interfaces/include/inputevent.hpp | 30 | ||||
-rw-r--r-- | interfaces/include/popup.hpp | 31 | ||||
-rw-r--r-- | interfaces/include/proximity.hpp | 22 | ||||
-rw-r--r-- | interfaces/include/statusbar.hpp | 22 | ||||
-rw-r--r-- | interfaces/include/windowmanager.hpp | 82 |
8 files changed, 305 insertions, 0 deletions
diff --git a/interfaces/include/appframework.hpp b/interfaces/include/appframework.hpp new file mode 100644 index 0000000..98ec317 --- /dev/null +++ b/interfaces/include/appframework.hpp @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef APPFRAMEWORK_HPP +#define APPFRAMEWORK_HPP + +#include <QtCore/QSharedDataPointer> +#include <QtDBus/QDBusArgument> + +class AppInfo +{ + Q_GADGET + Q_PROPERTY(QString id READ id) + Q_PROPERTY(QString version READ version) + Q_PROPERTY(int width READ width) + Q_PROPERTY(int height READ height) + Q_PROPERTY(QString name READ name) + Q_PROPERTY(QString description READ description) + Q_PROPERTY(QString shortname READ shortname) + Q_PROPERTY(QString author READ author) + Q_PROPERTY(QString iconPath READ iconPath) +public: + AppInfo(); + AppInfo(const AppInfo &other); + virtual ~AppInfo(); + AppInfo &operator =(const AppInfo &other); + void swap(AppInfo &other) { qSwap(d, other.d); } + + QString id() const; + QString version() const; + int width() const; + int height() const; + QString name() const; + QString description() const; + QString shortname() const; + QString author() const; + QString iconPath() const; + + void read(const QJsonObject &json); + + friend QDBusArgument &operator <<(QDBusArgument &argument, const AppInfo &appInfo); + friend const QDBusArgument &operator >>(const QDBusArgument &argument, AppInfo &appInfo); + +private: + class Private; + QSharedDataPointer<Private> d; +}; + +Q_DECLARE_SHARED(AppInfo) +Q_DECLARE_METATYPE(AppInfo) +Q_DECLARE_METATYPE(QList<AppInfo>) + +#endif // APPFRAMEWORK_HPP diff --git a/interfaces/include/daynightmode.hpp b/interfaces/include/daynightmode.hpp new file mode 100644 index 0000000..2d858bb --- /dev/null +++ b/interfaces/include/daynightmode.hpp @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef DAYNIGHTMODE_H +#define DAYNIGHTMODE_H + +namespace SystemDayNight { + typedef enum DayNightMode + { + DAYNIGHTMODE_UNDEFINED = -1, + DAYNIGHTMODE_DAY = 0, + DAYNIGHTMODE_NIGHT = 1 + } eDayNightMode; +} + +#endif // DAYNIGHTMODE_H diff --git a/interfaces/include/homescreen.hpp b/interfaces/include/homescreen.hpp new file mode 100644 index 0000000..728962b --- /dev/null +++ b/interfaces/include/homescreen.hpp @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef HOMESCREEN_H +#define HOMESCREEN_H + +#include "inputevent.hpp" + +#endif // HOMESCREEN_H + diff --git a/interfaces/include/inputevent.hpp b/interfaces/include/inputevent.hpp new file mode 100644 index 0000000..8c6bf58 --- /dev/null +++ b/interfaces/include/inputevent.hpp @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef INPUTEVENT_H +#define INPUTEVENT_H + +namespace InputEvent { + typedef enum HardKey + { + HARDKEY_UNDEFINED, + HARDKEY_NAV, + HARDKEY_MEDIA + } eHardKey; +} + +#endif // INPUTEVENT_H + diff --git a/interfaces/include/popup.hpp b/interfaces/include/popup.hpp new file mode 100644 index 0000000..9caa837 --- /dev/null +++ b/interfaces/include/popup.hpp @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef POPUP_H +#define POPUP_H + +namespace SystemPopup { + typedef enum PopupType + { + POPUPTYPE_UNDEFINED, + POPUPTYPE_INFO, + POPUPTYPE_WARNING, + POPUPTYPE_ERROR + } ePopupType; +} + +#endif // POPUP_H + diff --git a/interfaces/include/proximity.hpp b/interfaces/include/proximity.hpp new file mode 100644 index 0000000..898217f --- /dev/null +++ b/interfaces/include/proximity.hpp @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef PROXIMITY_H +#define PROXIMITY_H + + +#endif // PROXIMITY_H + diff --git a/interfaces/include/statusbar.hpp b/interfaces/include/statusbar.hpp new file mode 100644 index 0000000..ecdcede --- /dev/null +++ b/interfaces/include/statusbar.hpp @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef STATUSBAR_H +#define STATUSBAR_H + + + +#endif // STATUSBAR_H diff --git a/interfaces/include/windowmanager.hpp b/interfaces/include/windowmanager.hpp new file mode 100644 index 0000000..dd268dd --- /dev/null +++ b/interfaces/include/windowmanager.hpp @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef WINDOWMANAGER_H +#define WINDOWMANAGER_H + +#include <QtDBus> + +#define WINDOWMANAGER_NO_ERROR 0 +#define WINDOWMANAGER_ERROR_ID_ALREADY_DEFINED 1 +#define WINDOWMANAGER_ERROR_NAME_ALREADY_DEFINED 2 +#define WINDOWMANAGER_ERROR_ID_NOT_FOUND 3 +#define WINDOWMANAGER_ERROR_NAME_NOT_FOUND 4 +#define WINDOWMANAGER_ERROR_ID_IN_USE 5 + +class SimplePoint +{ +public: + SimplePoint(); + virtual ~SimplePoint(); + + int x; + int y; + + friend QDBusArgument &operator <<(QDBusArgument &argument, const SimplePoint &mSimplePoint); + friend const QDBusArgument &operator >>(const QDBusArgument &argument, SimplePoint &mSimplePoint); +}; + + +class LayoutArea +{ +public: + LayoutArea(); + virtual ~LayoutArea(); + + int x; + int y; + int width; + int height; + + friend QDBusArgument &operator <<(QDBusArgument &argument, const LayoutArea &mLayoutArea); + friend const QDBusArgument &operator >>(const QDBusArgument &argument, LayoutArea &mLayoutArea); +}; + +class Layout +{ +public: + Layout(); + Layout(int layoutId, const QString &layoutName, const QList<LayoutArea> &surfaceAreas); + virtual ~Layout(); + + int id; + QString name; + QList<LayoutArea> layoutAreas; + + friend QDBusArgument &operator <<(QDBusArgument &argument, const Layout &mLayout); + friend const QDBusArgument &operator >>(const QDBusArgument &argument, Layout &mLayout); +}; + +Q_DECLARE_METATYPE(SimplePoint) +Q_DECLARE_METATYPE(QList<SimplePoint>) + +Q_DECLARE_METATYPE(LayoutArea) +Q_DECLARE_METATYPE(QList<LayoutArea>) + +Q_DECLARE_METATYPE(Layout) +Q_DECLARE_METATYPE(QList<Layout>) + +#endif // WINDOWMANAGER_H |