1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
//***************************************************************************
/*
* TOra - An Oracle Toolkit for DBA's and developers
* Copyright (C) 2000-2001,2001 Underscore AB
*
* 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; only version 2 of
* the License is valid for this program.
*
* 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* As a special exception, you have permission to link this program
* with the Oracle Client libraries and distribute executables, as long
* as you follow the requirements of the GNU GPL in regard to all of the
* software in the executable aside from Oracle client libraries.
*
* Specifically you are not permitted to link this program with the
* Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech.
* And you are not permitted to distribute binaries compiled against
* these libraries without written consent from Underscore AB. Observe
* that this does not disallow linking to the Qt Free Edition.
*
* All trademarks belong to their respective owners.
*
****************************************************************************/
#ifndef TOQVALUE_H
#define TOQVALUE_H
#include <list>
#include <qstring.h>
/** This function is used to represent values that are passed to and from queries
*/
class toQValue {
enum queryType {
intType,
doubleType,
stringType,
nullType
} Type;
union queryValue {
int Int;
double Double;
QString *String;
} Value;
public:
/** Create null value.
*/
toQValue(void);
/** Create integer value.
* @param i Value.
*/
toQValue(int i);
/** Create string value.
* @param str Value.
*/
toQValue(const QString &str);
/** Create double value.
* @param d Value.
*/
toQValue(double d);
/** Destruct query.
*/
~toQValue();
/** Create a copy of a value.
*/
toQValue(const toQValue ©);
/** Assign this value from another value.
*/
const toQValue &operator = (const toQValue ©);
/** Check if this is an int value.
*/
bool isInt(void) const;
/** Check if this is a double value.
*/
bool isDouble(void) const;
/** Check if this is a string value.
*/
bool isString(void) const;
/** Check if this value is null.
*/
bool isNull(void) const;
/** Get utf8 format of this value.
*/
QCString utf8Value(void) const;
/** Get integer representation of this value.
*/
int toInt(void) const;
/** Get double representation of this value.
*/
double toDouble(void) const;
/** Convert value to a string.
*/
operator QString() const;
};
/** A short representation of list<toQuery::queryValue>
*/
typedef std::list<toQValue> toQList;
#endif
|