3 #ifndef _GCONFMM_CLIENT_H 4 #define _GCONFMM_CLIENT_H 31 #include <gconf/gconf-client.h> 33 #include <glibmm/object.h> 35 #include <glibmm/error.h> 44 #ifndef DOXYGEN_SHOULD_SKIP_THIS 45 typedef struct _GConfClient GConfClient;
46 typedef struct _GConfClientClass GConfClientClass;
54 {
class Client_Class; }
79 #ifndef DOXYGEN_SHOULD_SKIP_THIS 87 static GType value_type() G_GNUC_CONST;
115 #ifndef DOXYGEN_SHOULD_SKIP_THIS 123 static GType value_type() G_GNUC_CONST;
157 NO_WRITABLE_DATABASE = 15,
161 Error(
Code error_code,
const Glib::ustring& error_message);
162 explicit Error(GError* gobject);
165 #ifndef DOXYGEN_SHOULD_SKIP_THIS 168 #ifdef GLIBMM_EXCEPTIONS_ENABLED 169 static void throw_func(GError* gobject);
172 static std::auto_ptr<Glib::Error> throw_func(GError* gobject);
173 #endif //GLIBMM_EXCEPTIONS_ENABLED 183 #ifndef DOXYGEN_SHOULD_SKIP_THIS 191 static GType value_type() G_GNUC_CONST;
205 #ifndef DOXYGEN_SHOULD_SKIP_THIS 206 template <
typename T>
207 struct BasicTypeTraits
210 typedef CppType* CType;
211 typedef CppType* CTypeNonConst;
213 static CType to_c_type(CppType val)
215 CType pVal =
new CppType;
220 static CType to_c_type(CType ptr)
223 static CppType to_cpp_type(CType ptr)
233 static void release_c_type(CType ptr)
243 struct BasicTypeTraits<int>
246 typedef CppType* CType;
247 typedef CppType* CTypeNonConst;
249 static CType to_c_type(CppType val)
250 {
return (
int*)GINT_TO_POINTER(val); }
252 static CType to_c_type(CType ptr)
255 static CppType to_cpp_type(CType ptr)
259 return GPOINTER_TO_INT(ptr);
265 static void release_c_type(CType )
271 struct BasicTypeTraits<bool>
273 typedef bool CppType;
274 typedef gboolean* CType;
275 typedef gboolean* CTypeNonConst;
277 static CType to_c_type(CppType val)
279 return (
int*)GINT_TO_POINTER(val);
282 static CType to_c_type(CType ptr)
285 static CppType to_cpp_type(CType ptr)
290 return GPOINTER_TO_INT(ptr);
296 static void release_c_type(CType )
302 #endif //DOXYGEN_SHOULD_SKIP_THIS 318 #ifndef DOXYGEN_SHOULD_SKIP_THIS 321 typedef Client CppObjectType;
322 typedef Client_Class CppClassType;
323 typedef GConfClient BaseObjectType;
324 typedef GConfClientClass BaseClassType;
326 private:
friend class Client_Class;
327 static CppClassType client_class_;
335 explicit Client(
const Glib::ConstructParams& construct_params);
336 explicit Client(GConfClient* castitem);
343 #ifndef DOXYGEN_SHOULD_SKIP_THIS 344 static GType get_type() G_GNUC_CONST;
347 static GType get_base_type() G_GNUC_CONST;
351 GConfClient*
gobj() {
return reinterpret_cast<GConfClient*
>(gobject_); }
354 const GConfClient*
gobj()
const {
return reinterpret_cast<GConfClient*
>(gobject_); }
357 GConfClient* gobj_copy();
367 static Glib::RefPtr<Client> get_default_client();
368 static Glib::RefPtr<Client> get_client_for_engine(GConfEngine* engine);
383 #ifdef GLIBMM_EXCEPTIONS_ENABLED 386 void add_dir(
const Glib::ustring& dir,
ClientPreloadType preload, std::auto_ptr<Glib::Error>& error);
387 #endif //GLIBMM_EXCEPTIONS_ENABLED 393 #ifdef GLIBMM_EXCEPTIONS_ENABLED 394 void remove_dir(
const Glib::ustring& dir);
396 void remove_dir(
const Glib::ustring& dir, std::auto_ptr<Glib::Error>& error);
397 #endif //GLIBMM_EXCEPTIONS_ENABLED 419 guint notify_add(
const Glib::ustring& namespace_section,
Callback callback);
427 #ifdef GLIBMM_EXCEPTIONS_ENABLED 428 void notify_remove(guint cnxn);
430 void notify_remove(guint cnxn, std::auto_ptr<Glib::Error>& error);
431 #endif //GLIBMM_EXCEPTIONS_ENABLED 440 void notify(
const Glib::ustring& key);
455 #ifdef GLIBMM_EXCEPTIONS_ENABLED 458 void preload(
const Glib::ustring& dirname,
ClientPreloadType type, std::auto_ptr<Glib::Error>& error);
459 #endif //GLIBMM_EXCEPTIONS_ENABLED 468 #ifdef GLIBMM_EXCEPTIONS_ENABLED 469 Value get(
const Glib::ustring& key)
const;
471 Value get(
const Glib::ustring& key, std::auto_ptr<Glib::Error>& error)
const;
472 #endif //GLIBMM_EXCEPTIONS_ENABLED 483 #ifdef GLIBMM_EXCEPTIONS_ENABLED 484 Value get_without_default(
const Glib::ustring& key)
const;
486 Value get_without_default(
const Glib::ustring& key, std::auto_ptr<Glib::Error>& error)
const;
487 #endif //GLIBMM_EXCEPTIONS_ENABLED 496 #ifdef GLIBMM_EXCEPTIONS_ENABLED 497 Value get_default_from_schema(
const Glib::ustring& key)
const;
499 Value get_default_from_schema(
const Glib::ustring& key, std::auto_ptr<Glib::Error>& error)
const;
500 #endif //GLIBMM_EXCEPTIONS_ENABLED 511 Entry get_entry(
const Glib::ustring& key,
bool use_schema_default =
true)
const;
522 #ifdef GLIBMM_EXCEPTIONS_ENABLED 523 Entry get_entry(
const Glib::ustring& key,
const char* locale,
bool use_schema_default =
true)
const;
525 Entry get_entry(
const Glib::ustring& key,
const char* locale,
bool use_schema_default, std::auto_ptr<Glib::Error>& error)
const;
526 #endif //GLIBMM_EXCEPTIONS_ENABLED 534 #ifdef GLIBMM_EXCEPTIONS_ENABLED 535 void unset(
const Glib::ustring& key);
537 void unset(
const Glib::ustring& key, std::auto_ptr<Glib::Error>& error);
538 #endif //GLIBMM_EXCEPTIONS_ENABLED 550 #ifdef GLIBMM_EXCEPTIONS_ENABLED 553 void recursive_unset(
const Glib::ustring& key,
UnsetFlags flags, std::auto_ptr<Glib::Error>& error);
554 #endif //GLIBMM_EXCEPTIONS_ENABLED 564 #ifdef GLIBMM_EXCEPTIONS_ENABLED 565 Glib::SListHandle<Entry> all_entries(
const Glib::ustring& dir)
const;
567 Glib::SListHandle<Entry> all_entries(
const Glib::ustring& dir, std::auto_ptr<Glib::Error>& error)
const;
568 #endif //GLIBMM_EXCEPTIONS_ENABLED 577 #ifdef GLIBMM_EXCEPTIONS_ENABLED 578 Glib::SListHandle<Glib::ustring> all_dirs(
const Glib::ustring& dir)
const;
580 Glib::SListHandle<Glib::ustring> all_dirs(
const Glib::ustring& dir, std::auto_ptr<Glib::Error>& error)
const;
581 #endif //GLIBMM_EXCEPTIONS_ENABLED 589 #ifdef GLIBMM_EXCEPTIONS_ENABLED 592 void suggest_sync(std::auto_ptr<Glib::Error>& error);
593 #endif //GLIBMM_EXCEPTIONS_ENABLED 601 #ifdef GLIBMM_EXCEPTIONS_ENABLED 602 bool dir_exists(
const Glib::ustring&)
const;
604 bool dir_exists(
const Glib::ustring& p1, std::auto_ptr<Glib::Error>& error)
const;
605 #endif //GLIBMM_EXCEPTIONS_ENABLED 613 #ifdef GLIBMM_EXCEPTIONS_ENABLED 614 bool key_is_writable(
const Glib::ustring&)
const;
616 bool key_is_writable(
const Glib::ustring& p1, std::auto_ptr<Glib::Error>& error)
const;
617 #endif //GLIBMM_EXCEPTIONS_ENABLED 627 #ifdef GLIBMM_EXCEPTIONS_ENABLED 628 double get_float(
const Glib::ustring& key)
const;
630 double get_float(
const Glib::ustring& key, std::auto_ptr<Glib::Error>& error)
const;
631 #endif //GLIBMM_EXCEPTIONS_ENABLED 637 #ifdef GLIBMM_EXCEPTIONS_ENABLED 638 gint get_int(
const Glib::ustring& key)
const;
640 gint get_int(
const Glib::ustring& key, std::auto_ptr<Glib::Error>& error)
const;
641 #endif //GLIBMM_EXCEPTIONS_ENABLED 647 #ifdef GLIBMM_EXCEPTIONS_ENABLED 648 bool get_bool(
const Glib::ustring& key)
const;
650 bool get_bool(
const Glib::ustring& key, std::auto_ptr<Glib::Error>& error)
const;
651 #endif //GLIBMM_EXCEPTIONS_ENABLED 657 #ifdef GLIBMM_EXCEPTIONS_ENABLED 658 Glib::ustring get_string(
const Glib::ustring& key)
const;
660 Glib::ustring get_string(
const Glib::ustring& key, std::auto_ptr<Glib::Error>& error)
const;
661 #endif //GLIBMM_EXCEPTIONS_ENABLED 667 #ifdef GLIBMM_EXCEPTIONS_ENABLED 668 Schema get_schema(
const Glib::ustring& key)
const;
670 Schema get_schema(
const Glib::ustring& key, std::auto_ptr<Glib::Error>& error)
const;
671 #endif //GLIBMM_EXCEPTIONS_ENABLED 681 SListHandle_ValueInt get_int_list(
const Glib::ustring& key)
const;
685 SListHandle_ValueBool get_bool_list(
const Glib::ustring& key)
const;
689 SListHandle_ValueFloat get_float_list(
const Glib::ustring& key)
const;
693 SListHandle_ValueSchema get_schema_list(
const Glib::ustring& key)
const;
697 SListHandle_ValueString get_string_list(
const Glib::ustring& key)
const;
717 #ifdef GLIBMM_EXCEPTIONS_ENABLED 718 void set(
const Glib::ustring& key,
int what);
720 void set(
const Glib::ustring& key,
int what, std::auto_ptr<Glib::Error>& error);
721 #endif //GLIBMM_EXCEPTIONS_ENABLED 727 #ifdef GLIBMM_EXCEPTIONS_ENABLED 728 void set(
const Glib::ustring& key,
bool what);
730 void set(
const Glib::ustring& key,
bool what, std::auto_ptr<Glib::Error>& error);
731 #endif //GLIBMM_EXCEPTIONS_ENABLED 737 #ifdef GLIBMM_EXCEPTIONS_ENABLED 738 void set(
const Glib::ustring& key,
double what);
740 void set(
const Glib::ustring& key,
double what, std::auto_ptr<Glib::Error>& error);
741 #endif //GLIBMM_EXCEPTIONS_ENABLED 747 #ifdef GLIBMM_EXCEPTIONS_ENABLED 748 void set(
const Glib::ustring& key,
const Glib::ustring& what);
750 void set(
const Glib::ustring& key,
const Glib::ustring& what, std::auto_ptr<Glib::Error>& error);
751 #endif //GLIBMM_EXCEPTIONS_ENABLED 757 #ifdef GLIBMM_EXCEPTIONS_ENABLED 758 void set(
const Glib::ustring& key,
const Schema& what);
760 void set(
const Glib::ustring& key,
const Schema& what, std::auto_ptr<Glib::Error>& error);
761 #endif //GLIBMM_EXCEPTIONS_ENABLED 768 #ifdef GLIBMM_EXCEPTIONS_ENABLED 769 void set(
const Glib::ustring& key,
const Value& what);
771 void set(
const Glib::ustring& key,
const Value& what, std::auto_ptr<Glib::Error>& error);
772 #endif //GLIBMM_EXCEPTIONS_ENABLED 776 void set_int_list(
const Glib::ustring& key,
const SListHandleInts& what);
779 void set_bool_list(
const Glib::ustring& key,
const SListHandleBools& what);
782 void set_float_list(
const Glib::ustring& key,
const SListHandleFloats& what);
784 void set_schema_list(
const Glib::ustring& key,
const Glib::SListHandle<Schema>& what);
785 void set_string_list(
const Glib::ustring& key,
const Glib::SListHandle<Glib::ustring>& what);
796 #ifdef GLIBMM_EXCEPTIONS_ENABLED 797 ChangeSet change_set_from_current(
const Glib::SArray&
set);
799 ChangeSet change_set_from_current(
const Glib::SArray&
set, std::auto_ptr<Glib::Error>& error);
800 #endif //GLIBMM_EXCEPTIONS_ENABLED 814 #ifdef GLIBMM_EXCEPTIONS_ENABLED 815 void change_set_commit(
ChangeSet&
set,
bool remove_commited);
817 void change_set_commit(
ChangeSet&
set,
bool remove_commited, std::auto_ptr<Glib::Error>& error);
818 #endif //GLIBMM_EXCEPTIONS_ENABLED 832 #ifdef GLIBMM_EXCEPTIONS_ENABLED 835 ChangeSet change_set_reverse(
const ChangeSet&
set, std::auto_ptr<Glib::Error>& error);
836 #endif //GLIBMM_EXCEPTIONS_ENABLED 846 Glib::SignalProxy2< void,const Glib::ustring&,const Value& > signal_value_changed();
849 void value_changed(
const Glib::ustring& key,
const Value& value);
851 #ifndef DOXYGEN_SHOULD_SKIP_THIS 860 Glib::SignalProxy1< void,const Glib::Error& > signal_unreturned_error();
863 void unreturned_error(
const Glib::Error& error);
873 Glib::SignalProxy1< void,const Glib::Error& > signal_error();
876 void error(
const Glib::Error& error);
879 void handle_error(GError* pError)
const;
881 GSList* get_list(
const Glib::ustring& key, GConfValueType list_type)
const;
888 #ifdef GLIBMM_VFUNCS_ENABLED 889 #endif //GLIBMM_VFUNCS_ENABLED 893 #ifdef GLIBMM_VFUNCS_ENABLED 894 #endif //GLIBMM_VFUNCS_ENABLED 897 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED 898 virtual void on_value_changed(
const Glib::ustring& key,
const Value& value);
899 virtual void on_unreturned_error(
const Glib::Error& error);
900 virtual void on_error(
const Glib::Error& error);
901 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED 920 Glib::RefPtr<Gnome::Conf::Client> wrap(GConfClient*
object,
bool take_copy =
false);
std::pair< ValueType, ValueType > ValueTypePair
Definition: value.h:120
GConfClient * gobj()
Provides access to the underlying C GObject.
Definition: client.h:351
An Entry stores an entry from a GConf "directory", including a key-value pair, the name of the Schema...
Definition: entry.h:50
Definition: callback.h:33
Glib::SListHandle< int, BasicTypeTraits< int > > SListHandleInts
Definition: client.h:775
sigc::slot< void, guint, Entry > Callback
Definition: callback.h:39
Glib::SListHandle< bool, BasicTypeTraits< bool > > SListHandleBools
Definition: client.h:778
Code
Definition: client.h:142
Exception class for Gnome::Conf::Client errors.
Definition: client.h:139
Glib::SListHandle< double, BasicTypeTraits< double > > SListHandleFloats
Definition: client.h:781
Wrapper for primitive types.
Definition: value.h:141
const GConfClient * gobj() const
Provides access to the underlying C GObject.
Definition: client.h:354
A ChangeSet is a set of changes to the GConf database that can be commited and reversed easily...
Definition: changeset.h:57
The main Gnome::Conf object.
Definition: client.h:315
Common Interface for key-value settable objects.
Definition: setinterface.h:47
std::pair< Value, Value > ValuePair
Definition: value.h:119