00001
00002
00003
#ifndef _LIBGNOMEVFSMM_MIME_APPLICATION_H
00004
#define _LIBGNOMEVFSMM_MIME_APPLICATION_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
#include <libgnomevfs/gnome-vfs-mime-handlers.h>
00026
#include <libgnomevfs/gnome-vfs-application-registry.h>
00027
00028
#include <libgnomevfsmm/enums.h>
00029
#include <libgnomevfsmm/exception.h>
00030
00031
00032
namespace Gnome
00033 {
00034
00035
namespace Vfs
00036 {
00037
00038 typedef Glib::ListHandle<Glib::ustring> ListHandleStrings;
00039
00040
00041
00042 class MimeApplication
00043 {
00044
public:
00045
#ifndef DOXYGEN_SHOULD_SKIP_THIS
00046
typedef MimeApplication CppObjectType;
00047
typedef GnomeVFSMimeApplication BaseObjectType;
00048
#endif
00049
00050
MimeApplication();
00051
00052
00053
explicit MimeApplication(GnomeVFSMimeApplication* castitem,
bool make_a_copy =
false);
00054
00055
MimeApplication(
const MimeApplication& src);
00056
MimeApplication&
operator=(
const MimeApplication& src);
00057
00058
~MimeApplication();
00059
00060 GnomeVFSMimeApplication*
gobj() {
return gobject_; }
00061 const GnomeVFSMimeApplication*
gobj()
const {
return gobject_; }
00062
00063
00064 GnomeVFSMimeApplication*
gobj_copy() const;
00065
00066 protected:
00067 GnomeVFSMimeApplication* gobject_;
00068
00069 private:
00070
00071
00072 public:
00073
MimeApplication(const Glib::ustring&
id);
00074
00075
MimeApplication(const Glib::ustring&
id, const Glib::ustring& name,
00076 const Glib::ustring& command, MimeApplicationArgumentType argument_type,
00077
ListHandleStrings supported_uri_schemes,
bool multiple_files,
bool requires_terminal);
00078
00079
00080 operator
bool() const;
00081
00085 Glib::ustring get_id() const;
00086
00090 Glib::ustring get_name() const;
00091
00095 Glib::ustring get_command() const;
00096
00100 MimeApplicationArgumentType get_argument_type() const;
00101
00105 Glib::ListHandle<Glib::ustring> get_supported_uri_schemes() const;
00106
00110
bool can_open_multiple_files() const;
00111
00115
bool requires_terminal() const;
00116
00117
00118
void set_id(const Glib::ustring& value);
00119
void set_name(const Glib::ustring& value);
00120
void set_command(const Glib::ustring& value);
00121
void set_argument_type(const MimeApplicationArgumentType& value);
00122
void set_supported_uri_schemes(const Glib::ListHandle<Glib::ustring>& value);
00123
00124
void set_open_multiple_files(
bool value = true);
00125
void set_requires_terminal(
bool value = true);
00126
00127
00128
00129
00130
00136
bool is_user_owned();
00137
00138
bool exists_in_registry();
00139
void remove_from_registry();
00140
00147
void save_to_registry();
00148
00149
ListHandleStrings get_keys();
00150
00151
ListHandleStrings get_mime_types();
00152
void clear_mime_types();
00153
00154
bool supports_mime_type(const Glib::ustring& mime_type);
00155
bool supports_uri_scheme(const Glib::ustring& uri_scheme);
00156
00157 Glib::ustring get_value(const Glib::ustring& key);
00158
bool get_value(const Glib::ustring& key,
bool& got_key);
00159
00160
void set_value(const Glib::ustring& key, const Glib::ustring& value);
00161
void set_value(const Glib::ustring& key,
bool value);
00162
void unset_key(const Glib::ustring& key);
00163
00164
void add_mime_type(const Glib::ustring& mime_type);
00165
void remove_mime_type(const Glib::ustring& mime_type);
00166
00167
00168
00169
00170
void set_default(const Glib::ustring& mime_type) throw(
exception);
00171
void add_to_short_list(const Glib::ustring& mime_type) throw(exception);
00172
void remove_from_short_list(const Glib::ustring& mime_type) throw(exception);
00173
00174
00175
00176
00177 };
00178
00179 }
00180 }
00181
00182
00183 namespace Glib
00184 {
00185
00187
Gnome::Vfs::MimeApplication wrap(GnomeVFSMimeApplication* object,
bool take_copy =
false);
00188
00189 }
00190
00191
#endif
00192