00001 /* 00002 * Copyright (c) 2005 MyARM GbR, Germany 00003 * All rights reserved. 00004 * 00005 * Redistribution and use in source and binary forms, with or 00006 * without modification, are permitted provided that the 00007 * following conditions are met: 00008 * 1. Redistributions of source code must retain the above 00009 * copyright notice, this list of conditions and the 00010 * following disclaimer. 00011 * 2. Redistributions in binary form must reproduce the above 00012 * copyright notice, this list of conditions and the 00013 * following disclaimer in the documentation and/or other 00014 * materials provided with the distribution. 00015 * 3. All advertising materials mentioning features or use of 00016 * this software must display the following acknowledgement: 00017 * This product includes software developed by 00018 * MyARM GbR and its contributors. 00019 * 4. Neither the name of MyARM GbR nor the names of its 00020 * contributors may be used to endorse or promote products 00021 * derived from this software without specific prior written 00022 * permission. 00023 * 00024 * THIS SOFTWARE IS PROVIDED BY MYARM GBR. AND CONTRIBUTORS 00025 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 00026 * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 00027 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 00028 * SHALL MYARM OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 00029 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00030 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 00031 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 00032 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 00033 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00034 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 00035 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 00036 * OF SUCH DAMAGE. 00037 */ 00038 00039 #ifndef QSIMPLEARMTRAN_H 00040 #define QSIMPLEARMTRAN_H 00041 00048 #include <cstdlib> 00049 00050 #include <QString> 00051 #include <QObject> 00052 #include <QList> 00053 00054 #include <QArmTransaction> 00055 #include <QArmMetric> 00056 #include <QArmMetricList> 00057 00061 class QSimpleArmNumId : public QArmMetric { 00062 public: 00068 QSimpleArmNumId(const QString & _name, 00069 const QString & _unit); 00070 }; 00071 00075 class QSimpleArmCounter : public QArmMetric { 00076 public: 00082 QSimpleArmCounter(const QString & _name, 00083 const QString & _unit); 00084 }; 00085 00089 class QSimpleArmGauge : public QArmMetric { 00090 public: 00096 QSimpleArmGauge(const QString & _name, 00097 const QString & _unit); 00098 }; 00099 00109 class QSimpleArmTran : public QArmTransaction { 00110 00111 Q_OBJECT 00112 00113 public: 00121 QSimpleArmTran(const QString & _name, 00122 QSimpleArmTran * _parent = 0, 00123 const QArmMetricList * _metric_bindings = 0); 00127 ~QSimpleArmTran(); 00128 00129 public slots: 00134 void start(); 00142 void start(QArmMetricList *_metric_values); 00147 void stop(const QArmTransaction::QArmStatus _status = QArmTransaction::GOOD); 00148 00149 }; 00150 00151 #endif
1.4.2