qmlFrontend/hwengine.h
author unc0rr
Mon, 22 Sep 2014 02:10:39 +0400
branchqmlfrontend
changeset 10420 02c573d19224
parent 10418 091d2c0216c3
child 10424 4be6cd55f1cf
permissions -rw-r--r--
flib: - Ability to pass raw data via IPC qmlfrontend: - Pass message received by callback through event loop to handle it in main thread - Get preview image from engine on button click and render it in Image object
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10402
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
     1
#ifndef HWENGINE_H
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
     2
#define HWENGINE_H
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
     3
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
     4
#include <QObject>
10416
1c301054694d - Remove --port command
unc0rr
parents: 10402
diff changeset
     5
#include <QByteArray>
1c301054694d - Remove --port command
unc0rr
parents: 10402
diff changeset
     6
#include <QVector>
10420
unc0rr
parents: 10418
diff changeset
     7
#include <QPixmap>
10416
1c301054694d - Remove --port command
unc0rr
parents: 10402
diff changeset
     8
1c301054694d - Remove --port command
unc0rr
parents: 10402
diff changeset
     9
#include "flib.h"
10402
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
    10
10420
unc0rr
parents: 10418
diff changeset
    11
class QQmlEngine;
unc0rr
parents: 10418
diff changeset
    12
10402
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
    13
class HWEngine : public QObject
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
    14
{
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
    15
    Q_OBJECT
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
    16
public:
10420
unc0rr
parents: 10418
diff changeset
    17
    explicit HWEngine(QQmlEngine * engine, QObject *parent = 0);
10402
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
    18
    ~HWEngine();
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
    19
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
    20
    static void exposeToQML();
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
    21
    Q_INVOKABLE void run();
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
    22
    
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
    23
signals:
10420
unc0rr
parents: 10418
diff changeset
    24
    void previewImageChanged();
10402
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
    25
    
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
    26
public slots:
10416
1c301054694d - Remove --port command
unc0rr
parents: 10402
diff changeset
    27
1c301054694d - Remove --port command
unc0rr
parents: 10402
diff changeset
    28
private:
1c301054694d - Remove --port command
unc0rr
parents: 10402
diff changeset
    29
    QList<QByteArray> m_argsList;
10418
091d2c0216c3 Move away from passing shortstrings into C code, now IPC works
unc0rr
parents: 10416
diff changeset
    30
    QVector<const char *> m_args;
10420
unc0rr
parents: 10418
diff changeset
    31
    QQmlEngine * m_engine;
10416
1c301054694d - Remove --port command
unc0rr
parents: 10402
diff changeset
    32
10420
unc0rr
parents: 10418
diff changeset
    33
    static void engineMessageCallback(void *context, const char * msg, quint32 len);
10416
1c301054694d - Remove --port command
unc0rr
parents: 10402
diff changeset
    34
    void sendIPC(const QByteArray &b);
10420
unc0rr
parents: 10418
diff changeset
    35
unc0rr
parents: 10418
diff changeset
    36
private slots:
unc0rr
parents: 10418
diff changeset
    37
    void engineMessageHandler(const QByteArray &msg);
10402
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
    38
};
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
    39
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
    40
#endif // HWENGINE_H
3313336c1ee0 Let's get it started
unc0rr
parents:
diff changeset
    41