diff options
Diffstat (limited to 'src/pmview/launch.h')
-rw-r--r-- | src/pmview/launch.h | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/src/pmview/launch.h b/src/pmview/launch.h new file mode 100644 index 0000000..2f048b1 --- /dev/null +++ b/src/pmview/launch.h @@ -0,0 +1,113 @@ +/* + * Copyright (c) 1997 Silicon Graphics, Inc. All Rights Reserved. + * Copyright (c) 2009 Aconex. All Rights Reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program 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 General Public License + * for more details. + */ +#ifndef _LAUNCH_H_ +#define _LAUNCH_H_ + +#include "main.h" +#include <QtCore/QStringList> + +class SbColor; +class ColorScale; + +class Launch +{ +private: + + static const QString theVersion1Str; + static const QString theVersion2Str; + + QStringList _strings; + int _groupMetric; + int _groupCount; + QString _groupHint; + int _metricCount; + int _version; + +public: + + ~Launch(); + + Launch(const QString &version = ""); // defaults to version 2.0 + Launch(const Launch &rhs); + const Launch &operator=(const Launch &rhs); + + static const char *launchPath(); + + void setDefaultOptions(int interval = 5, + int debug = 0, + const char *timeport = NULL, + const char *starttime = NULL, + const char *endtime = NULL, + const char *offset = NULL, + const char *timezone = NULL, + const char *defsourcetype = NULL, + const char *defsourcename = NULL, + bool selected = false); + + void addOption(const char *name, const char *value); + void addOption(const char *name, int value); + + void addMetric(const QmcMetric &metric, + const SbColor &color, + int instance, + bool useSocks = false); + + void addMetric(const QmcMetric &metric, + const ColorScale &scale, + int instance, + bool useSocks = false); + + void addMetric(int context, + const QString &source, + const QString &host, + const QString &metric, + const char *instance, + const QmcDesc &desc, + const SbColor &color, + double scale, + bool useSocks = false); + // Add metric with static color and scale + + void addMetric(int context, + const QString &source, + const QString &host, + const QString &metric, + const char *instance, + const QmcDesc &desc, + const ColorScale &scale, + bool useSocks = false); + // Add metric with dynamic color range + + void startGroup(const char *hint = "none"); + void endGroup(); + + void append(Launch const& rhs); + + void output(int fd) const; + + friend QTextStream& operator<<(QTextStream& os, Launch const& rhs); + +private: + + void preColor(int context, + const QString &source, + const QString &host, + const QString &metric, + bool useSocks, + QString &str); + void postColor(const QmcDesc &desc, const char *instance, QString &str); +}; + +#endif /* _LAUNCH_H_ */ |