kexi
kexidbschema.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KROSS_KEXIDB_KEXIDBSCHEMA_H
00021 #define KROSS_KEXIDB_KEXIDBSCHEMA_H
00022
00023 #include <qstring.h>
00024
00025 #include <api/object.h>
00026 #include <api/class.h>
00027
00028 #include <kexidb/drivermanager.h>
00029 #include <kexidb/schemadata.h>
00030 #include <kexidb/tableschema.h>
00031 #include <kexidb/queryschema.h>
00032
00033 namespace Kross { namespace KexiDB {
00034
00040 template<class T>
00041 class KexiDBSchema : public Kross::Api::Class<T>
00042 {
00043 public:
00044 KexiDBSchema(const QString& name, ::KexiDB::SchemaData* schema, ::KexiDB::FieldList* fieldlist);
00045 virtual ~KexiDBSchema();
00046
00047 protected:
00048 ::KexiDB::SchemaData* m_schema;
00049 ::KexiDB::FieldList* m_fieldlist;
00050
00051 private:
00053 Kross::Api::Object::Ptr name(Kross::Api::List::Ptr);
00055 Kross::Api::Object::Ptr setName(Kross::Api::List::Ptr);
00056
00058 Kross::Api::Object::Ptr caption(Kross::Api::List::Ptr);
00060 Kross::Api::Object::Ptr setCaption(Kross::Api::List::Ptr);
00061
00063 Kross::Api::Object::Ptr description(Kross::Api::List::Ptr);
00065 Kross::Api::Object::Ptr setDescription(Kross::Api::List::Ptr);
00066
00068 Kross::Api::Object::Ptr fieldlist(Kross::Api::List::Ptr);
00069 };
00070
00075 class KexiDBTableSchema : public KexiDBSchema<KexiDBTableSchema>
00076 {
00077 public:
00078 KexiDBTableSchema(::KexiDB::TableSchema* tableschema);
00079 virtual ~KexiDBTableSchema();
00080 virtual const QString getClassName() const;
00081 ::KexiDB::TableSchema* tableschema();
00082
00083 private:
00086 Kross::Api::Object::Ptr query(Kross::Api::List::Ptr);
00087 };
00088
00093 class KexiDBQuerySchema : public KexiDBSchema<KexiDBQuerySchema>
00094 {
00095 public:
00096 KexiDBQuerySchema(::KexiDB::QuerySchema* queryschema);
00097 virtual ~KexiDBQuerySchema();
00098 virtual const QString getClassName() const;
00099 ::KexiDB::QuerySchema* queryschema();
00100
00101 private:
00103 Kross::Api::Object::Ptr statement(Kross::Api::List::Ptr);
00105 Kross::Api::Object::Ptr setStatement(Kross::Api::List::Ptr);
00106
00107 Kross::Api::Object::Ptr setWhereExpression(Kross::Api::List::Ptr);
00108 };
00109
00110 }}
00111
00112 #endif
00113
|