00001
00002
00003 #ifndef _LIBGDAMM_DICTTABLE_H
00004 #define _LIBGDAMM_DICTTABLE_H
00005
00006
00007 #include <glibmm.h>
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #include <libgdamm/object.h>
00032 #include <libgdamm/xmlstorage.h>
00033 #include <libgdamm/entity.h>
00034
00035
00036 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00037 typedef struct _GdaDictTable GdaDictTable;
00038 typedef struct _GdaDictTableClass GdaDictTableClass;
00039 #endif
00040
00041
00042 namespace Gnome
00043 {
00044
00045 namespace Gda
00046 { class DictTable_Class; }
00047
00048 }
00049 namespace Gnome
00050 {
00051
00052 namespace Gda
00053 {
00054
00055 class Connection;
00056 class DictDatabase;
00057 class DictConstraint;
00058
00065 class DictTable
00066 : public Gda::Object,
00067 public XmlStorage,
00068 public Entity
00069 {
00070
00071 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00072
00073 public:
00074 typedef DictTable CppObjectType;
00075 typedef DictTable_Class CppClassType;
00076 typedef GdaDictTable BaseObjectType;
00077 typedef GdaDictTableClass BaseClassType;
00078
00079 private: friend class DictTable_Class;
00080 static CppClassType dicttable_class_;
00081
00082 private:
00083
00084 DictTable(const DictTable&);
00085 DictTable& operator=(const DictTable&);
00086
00087 protected:
00088 explicit DictTable(const Glib::ConstructParams& construct_params);
00089 explicit DictTable(GdaDictTable* castitem);
00090
00091 #endif
00092
00093 public:
00094 virtual ~DictTable();
00095
00096 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00097 static GType get_type() G_GNUC_CONST;
00098 static GType get_base_type() G_GNUC_CONST;
00099 #endif
00100
00102 GdaDictTable* gobj() { return reinterpret_cast<GdaDictTable*>(gobject_); }
00103
00105 const GdaDictTable* gobj() const { return reinterpret_cast<GdaDictTable*>(gobject_); }
00106
00108 GdaDictTable* gobj_copy();
00109
00110 private:
00111
00112
00113 protected:
00114
00115 DictTable();
00116
00117
00118 public:
00119
00120 static Glib::RefPtr<DictTable> create();
00121
00122
00126 Glib::RefPtr<DictDatabase> get_database();
00127
00131 Glib::RefPtr<const DictDatabase> get_database() const;
00132
00133
00137 bool is_view() const;
00138
00139
00140
00145 const GSList* get_parents();
00146
00147
00148
00153 GSList* get_constraints();
00154
00155
00161 Glib::RefPtr<DictConstraint> get_pk_constraint();
00162
00168 Glib::RefPtr<const DictConstraint> get_pk_constraint() const;
00169
00170
00177 #ifdef GLIBMM_EXCEPTIONS_ENABLED
00178 bool update_dbms_data();
00179 #else
00180 bool update_dbms_data(std::auto_ptr<Glib::Error>& error);
00181 #endif //GLIBMM_EXCEPTIONS_ENABLED
00182
00183
00184
00185
00186
00187 public:
00188
00189 public:
00190
00191 #ifdef GLIBMM_VFUNCS_ENABLED
00192 #endif //GLIBMM_VFUNCS_ENABLED
00193
00194 protected:
00195
00196 #ifdef GLIBMM_VFUNCS_ENABLED
00197 #endif //GLIBMM_VFUNCS_ENABLED
00198
00199
00200 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00201 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00202
00203
00204 };
00205
00206 }
00207 }
00208
00209
00210 namespace Glib
00211 {
00217 Glib::RefPtr<Gnome::Gda::DictTable> wrap(GdaDictTable* object, bool take_copy = false);
00218 }
00219
00220
00221 #endif
00222