xFSTK  0.0.0
Intel SoC Cross Platform Firmware & Software Tool Kit
dynamic-load/xfstk-dldr-example-parallel.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2015 Intel Corporation
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Lesser General Public
6  License as published by the Free Software Foundation; either
7  version 2.1 of the License, or (at your option) any later version.
8 
9  This library 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 GNU
12  Lesser General Public License for more details.
13 
14  You should have received a copy of the GNU Lesser General Public
15  License along with this library; if not, write to the Free Software
16  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18 #ifndef XFSTKDLDREXAMPLEPARALLEL_H
19 #define XFSTKDLDREXAMPLEPARALLEL_H
20 #include <QtCore/QCoreApplication>
21 #include <QMutex>
22 #include <QObject>
23 #include <QThread>
24 #include "xfstkdldrapi.h"
25 #include <stdlib.h>
26 #include <stdio.h>
27 #include <sstream>
28 #include <iostream>
29 #include <fstream>
30 #include <list>
31 #include <time.h>
32 #include <utility>
33 #include <sys/stat.h>
34 
35 using namespace std;
36 
37 typedef struct {
38  string fwdnx;
39  string fwimage;
40  string osdnx;
41  string osimage;
42  string gpflags;
43  string usbsn;
44  xfstkstatuspfn statuscallback;
45 } arg_type;
46 
47 typedef struct {
48  void* threadobj;
49  string usbsn;
50  void* hthread;
52 
53 class DlThreadObj : public QObject
54 {
55  Q_OBJECT
56 
57 public:
58  void DldrRun(void*);
59  void * Arg() const {return Arg_;}
60  void Arg(void* a){Arg_ = a;}
61  void DoWork();
62 private:
63  unsigned int ThreadId_;
64  void * Arg_;
65 
66 };
67 
68 class Dlthread : public QThread
69 {
70 Q_OBJECT
71 public:
72  explicit Dlthread(QObject *parent = 0);
73  ~Dlthread();
74  DlThreadObj *obj;
75  void setobj(DlThreadObj *obj);
76 signals:
77  void done();
78 
79 public slots:
80 protected:
81  void run();
82 
83 };
84 #endif // XFSTKDLDREXAMPLEPARALLEL_H
void * Arg() const
Definition: dynamic-load/xfstk-dldr-example-parallel.h:59
Definition: xfstk-dldr-example-parallel.h:69
Definition: xfstk-dldr-example-parallel.h:37
void Arg(void *a)
Definition: dynamic-load/xfstk-dldr-example-parallel.h:60
Definition: xfstk-dldr-example-parallel.h:54
void(* xfstkstatuspfn)(char *status, void *)
Represents an optional status callback function that can be provided to xfstk API to obtain status in...
Definition: xfstkdldrapi.h:113
Definition: xfstk-dldr-example-parallel.h:48