| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320 | 
							- /*
 
- = StarPU-Top for StarPU =
 
- Copyright (C) 2011 
 
- William Braik
 
- Yann Courtois
 
- Jean-Marie Couteyen
 
- Anthony Roy
 
- This library is free software; you can redistribute it and/or
 
- modify it under the terms of the GNU Lesser General Public
 
- License as published by the Free Software Foundation; either
 
- version 2.1 of the License, or (at your option) any later version.
 
- This library is distributed in the hope that it will be useful,
 
- but WITHOUT ANY WARRANTY; without even the implied warranty of
 
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
- Lesser General Public License for more details.
 
- You should have received a copy of the GNU Lesser General Public
 
- License along with this library; if not, write to the Free Software
 
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
- */
 
- #ifndef STARPU_TOP_TYPES_H
 
- #define STARPU_TOP_TYPES_H
 
- #include <QString>
 
- #include <QStringList>
 
- #include <QVector>
 
- /* -------------------------------------------------------------------------- */
 
- /* Display modes                                                              */
 
- /* -------------------------------------------------------------------------- */
 
- enum DisplayMode
 
- {
 
-     DISPLAY_FLYING_WINDOWS = 0, DISPLAY_MDI_NORMAL = 1,
 
- };
 
- /* -------------------------------------------------------------------------- */
 
- /* Widgets                                                                    */
 
- /* -------------------------------------------------------------------------- */
 
- // Types
 
- enum DataWidgetType
 
- {
 
-     // Data widgets
 
-     /** You must pass any modification to the following functions :
 
- 	 MainWindow::initDataWidgetLists(),
 
- 	 DataWidget::DataWidget(),
 
- 	 DataWidget::updateValue() **/
 
-     DATA_WIDGET_NONE = -1,
 
-     DATA_WIDGET_LCD = 0,
 
-     DATA_WIDGET_PLOT = 1,
 
-     DATA_WIDGET_LEVEL = 2,
 
-     DATA_WIDGET_LED = 3,
 
-     DATA_WIDGET_DIAL = 4,
 
- };
 
- enum InteractiveWidgetType
 
- {
 
-     // Interactive widgets
 
-     /** You must pass any modification to the following functions :
 
- 	 MainWindow::initInteractiveWidgetLists(),
 
- 	 InteractiveWidget::InteractiveWidget() **/
 
-     INTERACTIVE_WIDGET_NONE = -1,
 
-     INTERACTIVE_WIDGET_SLIDER = 0,
 
-     INTERACTIVE_WIDGET_KNOB = 1,
 
-     INTERACTIVE_WIDGET_WHEEL = 2,
 
-     INTERACTIVE_WIDGET_CHECKBOX = 3,
 
-     INTERACTIVE_WIDGET_SPINBOX = 4,
 
-     INTERACTIVE_WIDGET_DOUBLESPINBOX = 5,
 
-     INTERACTIVE_WIDGET_DIAL = 6,
 
-     INTERACTIVE_WIDGET_COMBOBOX = 7,
 
- };
 
- static const DataWidgetType DEFAULT_DATA_WIDGET_BOOL = DATA_WIDGET_LED;
 
- static const DataWidgetType DEFAULT_DATA_WIDGET_INT = DATA_WIDGET_LCD;
 
- static const DataWidgetType DEFAULT_DATA_WIDGET_FLOAT = DATA_WIDGET_LCD;
 
- static const InteractiveWidgetType DEFAULT_INTERACTIVE_WIDGET_BOOL =
 
-         INTERACTIVE_WIDGET_CHECKBOX;
 
- static const InteractiveWidgetType DEFAULT_INTERACTIVE_WIDGET_INT =
 
-         INTERACTIVE_WIDGET_SPINBOX;
 
- static const InteractiveWidgetType DEFAULT_INTERACTIVE_WIDGET_FLOAT =
 
-         INTERACTIVE_WIDGET_DOUBLESPINBOX;
 
- static const InteractiveWidgetType DEFAULT_INTERACTIVE_WIDGET_ENUM =
 
-         INTERACTIVE_WIDGET_COMBOBOX;
 
- enum DataType
 
- {
 
-     // Data
 
-     /** If types were to be added the following functions should be updated :
 
- 	 PreferencesDialog::initDataWidgetLists() **/
 
-     DATA_TYPE_BOOL = 0,
 
-     DATA_TYPE_INT = 1,
 
-     DATA_TYPE_FLOAT = 2,
 
- };
 
- enum ParamType
 
- {
 
-     // Params
 
-     /** If types were to be added the following functions should be updated :
 
- 	 PreferencesDialog::initInteractiveWidgetLists() **/
 
-     PARAM_TYPE_BOOL = 0,
 
-     PARAM_TYPE_INT = 1,
 
-     PARAM_TYPE_FLOAT = 2,
 
-     PARAM_TYPE_ENUM = 4,
 
- };
 
- enum starpu_top_device_type
 
- {
 
-     SERVERDEVICE_CPU = 0,
 
-     SERVERDEVICE_CUDA = 1,
 
-     SERVERDEVICE_OPENCL = 2
 
- };
 
- // Server devices
 
- typedef struct
 
- {
 
-     int id;
 
-     starpu_top_device_type type;
 
-     QString name;
 
- } starpu_top_device;
 
- // Server tasks
 
- typedef struct
 
- {
 
-     int taskId;
 
-     int deviceId;
 
-     qlonglong timestampStart;
 
-     qlonglong timestampEnd;
 
- } starpu_top_task;
 
- // Descriptions
 
- typedef struct
 
- { // Certain fields must be ignored depending on type
 
-     int id;
 
-     QString descriptionString;
 
-     DataWidgetType widget;
 
-     DataType type;
 
-     double valMax;
 
-     double valMin;
 
- } DataDescription;
 
- typedef struct
 
- { // Certain fields must be ignored depending on type
 
-     int id;
 
-     QString descriptionString;
 
-     InteractiveWidgetType widget;
 
-     ParamType type;
 
-     bool valInitBool;
 
-     int valInitInt;
 
-     double valInitDouble;
 
-     int valInitEnum;
 
-     double valMax;
 
-     double valMin;
 
-     QStringList enumValues;
 
- } ParamDescription;
 
- /* --------------------------------------------------------------------------- */
 
- /* Widget lists items data                                                     */
 
- /* --------------------------------------------------------------------------- */
 
- typedef struct
 
- {
 
-     int id;
 
-     DataWidgetType widget;
 
- } DataWidgetListItemData;
 
- typedef struct
 
- {
 
-     int id;
 
-     InteractiveWidgetType widget;
 
- } InteractiveWidgetListItemData;
 
- /* --------------------------------------------------------------------------- */
 
- /* Plot curves data                                                            */
 
- /* --------------------------------------------------------------------------- */
 
- typedef struct
 
- {
 
-     QVector<double> *xData;
 
-     QVector<double> *yData;
 
- } CurveData;
 
- /* --------------------------------------------------------------------------- */
 
- /* Communication Manager states                                                */
 
- /* --------------------------------------------------------------------------- */
 
- enum CommunicationState
 
- {
 
-     COM_STATE_INIT = 0,
 
-     COM_STATE_INIT_SERVERINFO = 1,
 
-     COM_STATE_INIT_DATA = 2,
 
-     COM_STATE_INIT_PARAMS = 3,
 
-     COM_STATE_INIT_DEV = 4,
 
-     COM_STATE_READY = 8,
 
-     COM_STATE_LOOP = 10,
 
- };
 
- /* --------------------------------------------------------------------------- */
 
- /* Communication protocol messages                                             */
 
- /* --------------------------------------------------------------------------- */
 
- enum CommunicationInMessageType
 
- {
 
-     /* Complete commands */
 
-     COM_MSG_IN_TYPE_BOOL = 0,
 
-     COM_MSG_IN_TYPE_INT = 1,
 
-     COM_MSG_IN_TYPE_FLOAT = 2,
 
-     COM_MSG_IN_TYPE_ENUM = 3,
 
-     COM_MSG_IN_SERVERINFO_BEGIN = 5,
 
-     COM_MSG_IN_SERVERINFO_END = 6,
 
-     COM_MSG_IN_DATA_BEGIN = 10,
 
-     COM_MSG_IN_DATA_END = 11,
 
-     COM_MSG_IN_PARAMS_BEGIN = 20,
 
-     COM_MSG_IN_PARAMS_END = 21,
 
-     COM_MSG_IN_DEV_BEGIN = 30,
 
-     COM_MSG_IN_DEV_END = 31,
 
-     COM_MSG_IN_DEV_CPU = 32,
 
-     COM_MSG_IN_DEV_CUDA = 33,
 
-     COM_MSG_IN_DEV_OPENCL = 34,
 
-     COM_MSG_IN_READY = 40,
 
-     COM_MSG_IN_SET = 50,
 
-     COM_MSG_IN_PREV = 60,
 
-     COM_MSG_IN_START = 61,
 
-     COM_MSG_IN_END = 62,
 
-     COM_MSG_IN_UPDATE = 70,
 
-     COM_MSG_IN_DEBUG = 80,
 
-     COM_MSG_IN_DEBUG_ON = 81,
 
-     COM_MSG_IN_DEBUG_OFF = 82,
 
-     COM_MSG_IN_DEBUG_MESSAGE = 83,
 
-     COM_MSG_IN_DEBUG_LOCK = 84,
 
-     /* Shortened commands */
 
-     COM_MSG_IN_SHORT_UPDATE = 100,
 
-     COM_MSG_IN_SHORT_PREV = 110,
 
-     COM_MSG_IN_SHORT_START = 111,
 
-     COM_MSG_IN_SHORT_END = 112,
 
- };
 
- enum CommunicationOutMessageType
 
- {
 
-     /* Complete commands */
 
-     COM_MSG_OUT_GO = 0,
 
-     COM_MSG_OUT_ENABLE = 10,
 
-     COM_MSG_OUT_DISABLE = 11,
 
-     COM_MSG_OUT_SET = 20,
 
-     COM_MSG_OUT_DEBUG = 30,
 
-     COM_MSG_OUT_DEBUG_ON = 31,
 
-     COM_MSG_OUT_DEBUG_OFF = 32,
 
-     COM_MSG_OUT_DEBUG_STEP = 33,
 
- };
 
- /* --------------------------------------------------------------------------- */
 
- /* Session setup data for loading session setups                               */
 
- /* --------------------------------------------------------------------------- */
 
- typedef struct
 
- {
 
-     int id;
 
-     DataType type;
 
-     DataWidgetType widget;
 
- } DataDescriptionSetup;
 
- typedef struct
 
- {
 
-     int id;
 
-     ParamType type;
 
-     InteractiveWidgetType widget;
 
- } ParamDescriptionSetup;
 
- typedef struct
 
- {
 
-     QByteArray geometry;
 
-     DisplayMode displayMode;
 
- } MainWindowSetup;
 
- typedef struct
 
- {
 
-     bool floating;
 
-     QByteArray geometry;
 
- } ParametersDockSetup;
 
- typedef struct
 
- {
 
-     bool inside;
 
-     QByteArray geometry;
 
-     int dataId;
 
- } DataWidgetSetup;
 
- typedef struct
 
- {
 
-     bool inside;
 
-     QByteArray geometry;
 
-     QList<int> dataIds;
 
- } DataAggregatorWidgetSetup;
 
- #endif // STARPU_TOP_TYPES_H
 
 
  |