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;
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
188 class Value<Gnome::Conf::Error::Code> :
public Glib::Value_Enum<Gnome::Conf::Error::Code>
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);
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);