glibmm: Platform-specific content typing

A content type is a platform specific string that defines the type of a file. More...

Functions

bool Gio::content_type_equals (const Glib::ustring& type1, const Glib::ustring& type2)
 Compares two content types for equality. More...

 
bool Gio::content_type_is_a (const Glib::ustring& type, const Glib::ustring& supertype)
 Determines if type is a subset of supertype. More...

 
bool Gio::content_type_is_unknown (const Glib::ustring& type)
 Checks if the content type is the generic "unknown" type. More...

 
Glib::ustring Gio::content_type_get_description (const Glib::ustring& type)
 Gets the human readable description of the content type. More...

 
Glib::ustring Gio::content_type_get_mime_type (const Glib::ustring& type)
 Gets the mime-type for the content type, if one is registered. More...

 
Glib::RefPtr< Icon > Gio::content_type_get_icon (const Glib::ustring& type)
 Gets the icon for a content type. More...

 
Glib::RefPtr< Icon > Gio::content_type_get_symbolic_icon (const Glib::ustring& type)
 Gets the symbolic icon for a content type. More...

 
bool Gio::content_type_can_be_executable (const Glib::ustring& type)
 Checks if a content type can be executable. More...

 
Glib::ustring Gio::content_type_from_mime_type (const Glib::ustring& mime_type)
 Tries to find a content type based on the mime type name. More...

 
Glib::ustring Gio::content_type_guess (const std::string& filename, const guchar* data, gsize data_size, bool& result_uncertain)
 Guesses the content type based on example data. More...

 
Glib::ustring Gio::content_type_guess (const std::string& filename, const std::string& data, bool& result_uncertain)
 Guesses the content type based on example data. More...

 
std::vector< Glib::ustringGio::content_type_guess_for_tree (const Glib::RefPtr< const File >& root)
 Tries to guess the type of the tree with root root, by looking at the files it contains. More...

 
std::vector< Glib::ustringGio::content_types_get_registered ()
 Gets a list of strings containing all the registered content types known to the system. More...

 

Detailed Description

A content type is a platform specific string that defines the type of a file.

On UNIX it is a mime type like "text/plain" or "image/png". On Win32 it is an extension string like ".doc", ".txt" or a perceived string like "audio". Such strings can be looked up in the registry at HKEY_CLASSES_ROOT.

Function Documentation

bool Gio::content_type_can_be_executable ( const Glib::ustring type)

Checks if a content type can be executable.

Note that for instance things like text files can be executables (i.e. scripts and batch files).

Parameters
typea content type string.
Returns
true if the file type corresponds to a type that can be executable, false otherwise.
bool Gio::content_type_equals ( const Glib::ustring type1,
const Glib::ustring type2 
)

Compares two content types for equality.

Parameters
type1A content type string.
type2A content type string.
Returns
true if the two strings are identical or equivalent, false otherwise.
Glib::ustring Gio::content_type_from_mime_type ( const Glib::ustring mime_type)

Tries to find a content type based on the mime type name.

Parameters
mime_typea mime type string.
Returns
string with content type or empty when it does not know.
Since glibmm 2.20:
Glib::ustring Gio::content_type_get_description ( const Glib::ustring type)

Gets the human readable description of the content type.

Parameters
typeA content type string.
Returns
a short description of the content type type.
Glib::RefPtr<Icon> Gio::content_type_get_icon ( const Glib::ustring type)

Gets the icon for a content type.

Parameters
typeA content type string.
Returns
Icon corresponding to the content type.
Glib::ustring Gio::content_type_get_mime_type ( const Glib::ustring type)

Gets the mime-type for the content type, if one is registered.

Parameters
typeA content type string.
Returns
the registered mime-type for the given type, or an empty string if unknown.
Glib::RefPtr<Icon> Gio::content_type_get_symbolic_icon ( const Glib::ustring type)

Gets the symbolic icon for a content type.

Parameters
typeA content type string.
Returns
symbolic Icon corresponding to the content type.
Since glibmm 2.34:
Glib::ustring Gio::content_type_guess ( const std::string filename,
const guchar *  data,
gsize  data_size,
bool &  result_uncertain 
)

Guesses the content type based on example data.

If the function is uncertain, result_uncertain will be set to true. Either filename may be an empty string or data may be 0, in which case the guess will be based solely on the other argument.

Parameters
filenamea string.
dataA stream of data.
data_sizeThe size of data.
[out]result_uncertainA flag indicating the certainty of the result.
Returns
A string indicating a guessed content type for the given data.
Glib::ustring Gio::content_type_guess ( const std::string filename,
const std::string data,
bool &  result_uncertain 
)

Guesses the content type based on example data.

If the function is uncertain, result_uncertain will be set to true. filename may be an empty string, in which case the guess will be based solely on data.

Parameters
filenamea string.
dataA stream of data.
[out]result_uncertainA flag indicating the certainty of the result.
Returns
A string indicating a guessed content type for the given data.
std::vector<Glib::ustring> Gio::content_type_guess_for_tree ( const Glib::RefPtr< const File >&  root)

Tries to guess the type of the tree with root root, by looking at the files it contains.

The result is a list of content types, with the best guess coming first.

The types returned all have the form x-content/foo, e.g. x-content/audio-cdda (for audio CDs) or x-content/image-dcf (for a camera memory card). See the shared-mime-info specification for more on x-content types.

Parameters
rootThe root of the tree to guess a type for.
Returns
List of zero or more content types.
Since glibmm 2.18:
bool Gio::content_type_is_a ( const Glib::ustring type,
const Glib::ustring supertype 
)

Determines if type is a subset of supertype.

Parameters
typeA content type string.
supertypeA content type string.
Returns
true if type is a kind of supertype, false otherwise.
bool Gio::content_type_is_unknown ( const Glib::ustring type)

Checks if the content type is the generic "unknown" type.

On unix this is the "application/octet-stream" mimetype, while on win32 it is "*".

Parameters
typeA content type string.
Returns
true if the type is the unknown type.
std::vector<Glib::ustring> Gio::content_types_get_registered ( )

Gets a list of strings containing all the registered content types known to the system.

Returns
List of the registered content types.