/*
This file is part of the KDB libraries
Copyright (c) 2000 Praduroux Alessandro <pradu@thekompany.com>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef KDB_RECORD_H
#define KDB_RECORD_H "$Id: record.h,v 1.5 2001/02/01 03:15:49 garbanzo Exp $"
#include <qlist.h>
#include <qstring.h>
#include <kdb/kdb.h>
#include <kdb/field.h>
#include <kdb/dataobject.h>
#include <kdb/handler.h>
namespace KDB {
class Recordset;
class Record;
class Connector;
class Handler;
typedef KSharedPtr<Record> RecordPtr;
/**
* A collection of fields with relevant values.
*
* The fields should be accessed like an associative array:
*
* <pre>
* rec["field1"] = "value";
* or
* rec[1] = "value";
* </pre>
*
* there are two record types: updatable and read only, depending on the
* parent recordset
*
* @author Alessandro Praduroux <pradu@thekompany.com>
* @version kdbcore 0.0.2
*/
class Record : public DataObject {
Q_OBJECT
public:
Record(Recordset *r, FieldList fields, Row values, KDB_ULONG pos);
Record(const Record &);
Record & operator = (const Record &);
~Record();
FieldIterator begin();
Field & operator[](const QString& name);
Field & operator[](int index);
Field & field(const QString & name);
Field & field(int index) ;
KDB_ULONG absolutePosition();
void update();
void remove();
signals:
void updated(KDB::Record *, bool);
void deleted(KDB::Record *);
private:
FieldList m_fields ;
bool m_new;
KDB_ULONG m_absPos;
};
}
#endif
| Generated by: root@powerpc.ports.openbsd.org on Tue Apr 24 23:01:57 2001, using kdoc 2.0a53. |