00001
00002
00003 #ifndef _LIBGNOMEMM_PROGRAM_H
00004 #define _LIBGNOMEMM_PROGRAM_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 <glibmm/object.h>
00032 #include <glibmm/slisthandle.h>
00033
00034
00035
00036 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00037 typedef struct _GnomeProgram GnomeProgram;
00038 typedef struct _GnomeProgramClass GnomeProgramClass;
00039 #endif
00040
00041
00042 namespace Gnome
00043 { class Program_Class; }
00044 namespace Gnome
00045 {
00046
00047
00053 enum FileDomain
00054 {
00055 FILE_DOMAIN_UNKNOWN,
00056 FILE_DOMAIN_LIBDIR,
00057 FILE_DOMAIN_DATADIR,
00058 FILE_DOMAIN_SOUND,
00059 FILE_DOMAIN_PIXMAP,
00060 FILE_DOMAIN_CONFIG,
00061 FILE_DOMAIN_HELP,
00062 FILE_DOMAIN_APP_LIBDIR,
00063 FILE_DOMAIN_APP_DATADIR,
00064 FILE_DOMAIN_APP_SOUND,
00065 FILE_DOMAIN_APP_PIXMAP,
00066 FILE_DOMAIN_APP_CONFIG,
00067 FILE_DOMAIN_APP_HELP
00068 };
00069
00070 }
00071
00072
00073 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00074 namespace Glib
00075 {
00076
00077 template <>
00078 class Value<Gnome::FileDomain> : public Glib::Value_Enum<Gnome::FileDomain>
00079 {
00080 public:
00081 static GType value_type() G_GNUC_CONST;
00082 };
00083
00084 }
00085 #endif
00086
00087
00088 namespace Gnome
00089 {
00090
00091
00096 class Program : public Glib::Object
00097 {
00098
00099 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00100
00101 public:
00102 typedef Program CppObjectType;
00103 typedef Program_Class CppClassType;
00104 typedef GnomeProgram BaseObjectType;
00105 typedef GnomeProgramClass BaseClassType;
00106
00107 private: friend class Program_Class;
00108 static CppClassType program_class_;
00109
00110 private:
00111
00112 Program(const Program&);
00113 Program& operator=(const Program&);
00114
00115 protected:
00116 explicit Program(const Glib::ConstructParams& construct_params);
00117 explicit Program(GnomeProgram* castitem);
00118
00119 #endif
00120
00121 public:
00122 virtual ~Program();
00123
00124 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00125 static GType get_type() G_GNUC_CONST;
00126 static GType get_base_type() G_GNUC_CONST;
00127 #endif
00128
00130 GnomeProgram* gobj() { return reinterpret_cast<GnomeProgram*>(gobject_); }
00131
00133 const GnomeProgram* gobj() const { return reinterpret_cast<GnomeProgram*>(gobject_); }
00134
00136 GnomeProgram* gobj_copy();
00137
00138 private:
00139
00140 public:
00141
00142
00143 static Glib::RefPtr<Program> get();
00144
00145
00146 Glib::ustring get_human_readable_name() const;
00147
00148 Glib::ustring get_app_id() const;
00149
00150 Glib::ustring get_app_version() const;
00151
00152 Glib::ustring locate_file(FileDomain domain, const Glib::ustring& file_name, bool only_if_exists = true);
00153 Glib::SListHandle<Glib::ustring> locate_file_multiple(FileDomain domain, const Glib::ustring& file_name, bool only_if_exists = true);
00154
00155
00156 public:
00157
00158 public:
00159
00160 #ifdef GLIBMM_VFUNCS_ENABLED
00161 #endif //GLIBMM_VFUNCS_ENABLED
00162
00163 protected:
00164
00165 #ifdef GLIBMM_VFUNCS_ENABLED
00166 #endif //GLIBMM_VFUNCS_ENABLED
00167
00168
00169 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00170 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00171
00172
00173 };
00174
00175 }
00176
00177
00178 namespace Glib
00179 {
00188 Glib::RefPtr<Gnome::Program> wrap(GnomeProgram* object, bool take_copy = false);
00189 }
00190
00191
00192 #endif
00193