Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

value.h

Go to the documentation of this file.
00001 // -*- c++ -*- 00002 // Generated by gtkmmproc -- DO NOT MODIFY! 00003 #ifndef _GCONFMM_VALUE_H 00004 #define _GCONFMM_VALUE_H 00005 00006 #include <glibmm.h> 00007 00008 // -*- Mode: C++; c-basic-offset: 4 -*- 00009 /* $Id: value.hg,v 1.2 2002/12/10 23:26:01 murrayc Exp $ */ 00010 00011 /* value.hg 00012 * 00013 * Copyright (C) 2000-2002 GConfmm Development Team 00014 * 00015 * This library is free software; you can redistribute it and/or 00016 * modify it under the terms of the GNU Library General Public 00017 * License as published by the Free Software Foundation; either 00018 * version 2 of the License, or (at your option) any later version. 00019 * 00020 * This library is distributed in the hope that it will be useful, 00021 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00022 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00023 * Library General Public License for more details. 00024 * 00025 * You should have received a copy of the GNU Library General Public 00026 * License along with this library; if not, write to the Free 00027 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00028 */ 00029 00030 #include <glibmm/ustring.h> 00031 #include <gconfmm/value_listhelpers.h> 00032 00033 00034 namespace Gnome 00035 { 00036 00037 namespace Conf 00038 { 00039 00045 enum ValueType 00046 { 00047 VALUE_INVALID, 00048 VALUE_STRING, 00049 VALUE_INT, 00050 VALUE_FLOAT, 00051 VALUE_BOOL, 00052 VALUE_SCHEMA, 00053 VALUE_LIST, 00054 VALUE_PAIR 00055 }; 00056 00057 } // namespace Conf 00058 00059 } // namespace Gnome 00060 00061 00062 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00063 namespace Glib 00064 { 00065 00066 template <> 00067 class Value<Gnome::Conf::ValueType> : public Glib::Value_Enum<Gnome::Conf::ValueType> 00068 { 00069 public: 00070 static GType value_type() G_GNUC_CONST; 00071 }; 00072 00073 } // namespace Glib 00074 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00075 00076 00077 namespace Gnome 00078 { 00079 00080 namespace Conf 00081 { 00082 00083 00084 typedef std::pair<Value, Value> ValuePair; 00085 typedef std::pair<ValueType, ValueType> ValueTypePair; 00086 00106 class Value 00107 { 00108 public: 00109 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00110 typedef Value CppObjectType; 00111 typedef GConfValue BaseObjectType; 00112 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00113 00114 00115 // Use make_a_copy=true when getting it directly from a struct. 00116 explicit Value(GConfValue* castitem, bool make_a_copy = false); 00117 00118 Value(const Value& src); 00119 Value& operator=(const Value& src); 00120 00121 ~Value(); 00122 00123 GConfValue* gobj() { return gobject_; } 00124 const GConfValue* gobj() const { return gobject_; } 00125 00127 GConfValue* gobj_copy() const; 00128 00129 protected: 00130 GConfValue* gobject_; 00131 00132 private: 00133 00134 ; 00135 00136 public: 00137 00142 Value(ValueType type = VALUE_INVALID); 00143 00147 void set(gint val); 00148 00153 void set(gdouble val); 00154 00157 void set(bool val); 00158 00161 void set(const Schema& sc); 00162 00165 void set_car(const Value& car); 00166 00169 void set_cdr(const Value& cdr); 00170 00173 void set(const Glib::ustring& val); 00174 00175 00178 void set_list_type(ValueType type); 00179 00185 void set_int_list(const SListHandle_ValueInt& list); 00186 00190 void set_bool_list(const SListHandle_ValueBool& list); 00191 00195 void set_float_list(const SListHandle_ValueFloat& list); 00196 00200 void set_string_list(const SListHandle_ValueString& list); 00201 00205 void set_schema_list(const SListHandle_ValueSchema& list); 00206 00207 00211 ValueType get_type() const; 00212 00213 00219 ValueType get_list_type() const; 00220 00223 int get_int() const; 00224 00227 bool get_bool() const; 00228 00231 double get_float() const; 00232 00235 Glib::ustring get_string() const; 00236 00237 00239 Schema get_schema() const; 00240 00241 00243 Value get_car() const; 00244 00246 Value get_cdr() const; 00247 00257 SListHandle_ValueFloat get_float_list() const; 00258 00263 SListHandle_ValueInt get_int_list() const; 00264 00269 SListHandle_ValueBool get_bool_list() const; 00270 00275 SListHandle_ValueString get_string_list() const; 00276 00281 SListHandle_ValueSchema get_schema_list() const; 00282 00288 Glib::ustring to_string() const; 00289 00290 00291 }; 00292 00293 } /* namespace Conf */ 00294 } /* namespace Gnome */ 00295 00296 00297 namespace Glib 00298 { 00299 00305 Gnome::Conf::Value wrap(GConfValue* object, bool take_copy = false); 00306 00307 } // namespace Glib 00308 00309 #endif /* _GCONFMM_VALUE_H */ 00310

Generated on Wed Sep 22 18:55:58 2004 for gconfmm by doxygen 1.3.8