00001
00002
00003 #ifndef _GCONFMM_SCHEMA_H
00004 #define _GCONFMM_SCHEMA_H
00005
00006 #include <glibmm.h>
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include <gconfmm/value.h>
00031
00032
00033 extern "C" {
00034
00035 #include <gconf/gconf-schema.h>
00036 }
00037
00038 namespace Gnome
00039 {
00040
00041 namespace Conf
00042 {
00043
00044 class Value;
00045
00046 class Schema
00047 {
00048 public:
00049 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00050 typedef Schema CppObjectType;
00051 typedef GConfSchema BaseObjectType;
00052 #endif
00053
00054 Schema();
00055
00056
00057 explicit Schema(GConfSchema* castitem, bool make_a_copy = false);
00058
00059 Schema(const Schema& src);
00060 Schema& operator=(const Schema& src);
00061
00062 ~Schema();
00063
00064 GConfSchema* gobj() { return gobject_; }
00065 const GConfSchema* gobj() const { return gobject_; }
00066
00068 GConfSchema* gobj_copy() const;
00069
00070 protected:
00071 GConfSchema* gobject_;
00072
00073 private:
00074
00075
00076 public:
00077
00078 void set_type(ValueType type);
00079
00080 void set_list_type(ValueType type);
00081
00082 void set_car_type(ValueType type);
00083
00084 void set_cdr_type(ValueType type);
00085
00086 void set_locale(const std::string& locale);
00087
00088 void set_short_desc(const Glib::ustring& desc);
00089
00090 void set_long_desc(const Glib::ustring& desc);
00091
00092 void set_owner(const Glib::ustring& owner);
00093
00094 void set_default_value(const Value& value);
00095
00096
00097 ValueType get_type() const;
00098
00099 ValueType get_list_type() const;
00100
00101 ValueType get_car_type() const;
00102
00103 ValueType get_cdr_type() const;
00104
00105 std::string get_locale() const;
00106
00107 Glib::ustring get_short_desc() const;
00108
00109 Glib::ustring get_long_desc() const;
00110
00111 Glib::ustring get_owner() const;
00112
00113 Value get_default_value() const;
00114
00115
00116 };
00117
00118
00119 }
00120 }
00121
00122
00123 namespace Glib
00124 {
00125
00131 Gnome::Conf::Schema wrap(GConfSchema* object, bool take_copy = false);
00132
00133 }
00134
00135 #endif
00136