Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitk::CustomMimeType Class Reference

A custom mime-type that can be registered as a service object. More...

#include <mitkCustomMimeType.h>

Inheritance diagram for mitk::CustomMimeType:

Public Member Functions

 CustomMimeType ()
 Construct a default CustomMimeType with an empty name. More...
 
 CustomMimeType (const std::string &name)
 Construct a CustomMimeType with the given unique name. More...
 
 CustomMimeType (const CustomMimeType &other)
 Copy constructor. More...
 
 CustomMimeType (const MimeType &other)
 Construct from an immutable MimeType wrapper. More...
 
virtual ~CustomMimeType ()
 
CustomMimeType & operator= (const CustomMimeType &other)
 Copy assignment operator. More...
 
CustomMimeType & operator= (const MimeType &other)
 Assignment from an immutable MimeType wrapper. More...
 
std::string GetName () const
 Get the unique name for this mime-type. More...
 
std::string GetCategory () const
 Get the human-readable category of this mime-type. More...
 
std::vector< std::string > GetExtensions () const
 Get all file extensions this mime-type can handle. More...
 
std::string GetComment () const
 Get a human-readable description of this mime-type. More...
 
virtual bool AppliesTo (const std::string &path) const
 Check whether this mime-type can handle the file at the given path. More...
 
bool MatchesExtension (const std::string &path) const
 Check whether the file extension of the given path matches this mime-type. More...
 
std::string GetExtension (const std::string &path) const
 Get the first matching extension found at the end of the given path. More...
 
std::string GetFilenameWithoutExtension (const std::string &path) const
 Get the filename from the given path, without the matching extension. More...
 
void SetName (const std::string &name)
 Set the unique name of this mime-type. More...
 
void SetCategory (const std::string &category)
 Set the category for grouping this mime-type. More...
 
void SetExtension (const std::string &extension)
 Set a single file extension, replacing all existing extensions. More...
 
void AddExtension (const std::string &extension)
 Add a file extension to the list if not already present (case-insensitive). More...
 
void SetComment (const std::string &comment)
 Set the human-readable comment for this mime-type. More...
 
void Swap (CustomMimeType &r)
 Swap the contents of this CustomMimeType with another. More...
 
virtual CustomMimeType * Clone () const
 Create a heap-allocated copy of this CustomMimeType. More...
 

Detailed Description

A custom mime-type that can be registered as a service object.

Instances of this class are usually created and registered as a CppMicroServices service. They act as meta-data that links files to compatible IFileReader and IFileWriter instances by mapping file extensions to unique mime-type names.

CustomMimeType should only be used to define and register mime-types. For all other interaction (querying, matching), use IMimeTypeProvider to retrieve registered mime-types as mitk::MimeType objects, which provide a safe, memory-managed, immutable view.

See also
MimeType
IMimeTypeProvider
IOMimeTypes
IFileReader
IFileWriter

Definition at line 49 of file mitkCustomMimeType.h.

Constructor & Destructor Documentation

◆ CustomMimeType() [1/4]

mitk::CustomMimeType::CustomMimeType ( )

Construct a default CustomMimeType with an empty name.

◆ CustomMimeType() [2/4]

mitk::CustomMimeType::CustomMimeType ( const std::string &  name)

Construct a CustomMimeType with the given unique name.

Parameters
[in]nameThe unique identifier for this mime-type (e.g. "application/vnd.mitk.image.nrrd").

◆ CustomMimeType() [3/4]

mitk::CustomMimeType::CustomMimeType ( const CustomMimeType &  other)

Copy constructor.

Parameters
[in]otherThe CustomMimeType to copy from.

◆ CustomMimeType() [4/4]

mitk::CustomMimeType::CustomMimeType ( const MimeType &  other)
explicit

Construct from an immutable MimeType wrapper.

Parameters
[in]otherThe MimeType to copy properties from.

◆ ~CustomMimeType()

virtual mitk::CustomMimeType::~CustomMimeType ( )
virtual

Member Function Documentation

◆ AddExtension()

void mitk::CustomMimeType::AddExtension ( const std::string &  extension)

Add a file extension to the list if not already present (case-insensitive).

Parameters
[in]extensionThe file extension to add (without leading dot).

◆ AppliesTo()

◆ Clone()

◆ GetCategory()

std::string mitk::CustomMimeType::GetCategory ( ) const

Get the human-readable category of this mime-type.

Returns
The category string (e.g. "Images", "Surfaces"). Allows grouping of similar mime-types.

◆ GetComment()

std::string mitk::CustomMimeType::GetComment ( ) const

Get a human-readable description of this mime-type.

Returns
A comment string. If no explicit comment was set, a fallback is generated from the first extension (e.g. "nrrd File") or "Unknown".

◆ GetExtension()

std::string mitk::CustomMimeType::GetExtension ( const std::string &  path) const

Get the first matching extension found at the end of the given path.

Parameters
[in]pathThe file path to inspect.
Returns
The matching extension (with leading dot), or an empty string if none matched.

◆ GetExtensions()

std::vector<std::string> mitk::CustomMimeType::GetExtensions ( ) const

Get all file extensions this mime-type can handle.

Returns
A vector of file extensions (without leading dots, e.g. "nrrd", "nhdr").

◆ GetFilenameWithoutExtension()

std::string mitk::CustomMimeType::GetFilenameWithoutExtension ( const std::string &  path) const

Get the filename from the given path, without the matching extension.

Parameters
[in]pathThe file path to inspect.
Returns
The filename without directory and without the matched extension, or an empty string if no extension matched.

◆ GetName()

std::string mitk::CustomMimeType::GetName ( ) const

Get the unique name for this mime-type.

Returns
The mime-type name string (e.g. "application/vnd.mitk.image.nrrd").

◆ MatchesExtension()

bool mitk::CustomMimeType::MatchesExtension ( const std::string &  path) const

Check whether the file extension of the given path matches this mime-type.

Parameters
[in]pathThe file path to check.
Returns
true if the path ends with one of this mime-type's extensions.

This method performs a case-insensitive extension comparison only; it does not inspect file contents.

◆ operator=() [1/2]

CustomMimeType& mitk::CustomMimeType::operator= ( const CustomMimeType &  other)

Copy assignment operator.

Parameters
[in]otherThe CustomMimeType to assign from.
Returns
Reference to this object.

◆ operator=() [2/2]

CustomMimeType& mitk::CustomMimeType::operator= ( const MimeType &  other)

Assignment from an immutable MimeType wrapper.

Parameters
[in]otherThe MimeType to assign from.
Returns
Reference to this object.

◆ SetCategory()

void mitk::CustomMimeType::SetCategory ( const std::string &  category)

Set the category for grouping this mime-type.

Parameters
[in]categoryThe category string (e.g. "Images").

◆ SetComment()

void mitk::CustomMimeType::SetComment ( const std::string &  comment)

Set the human-readable comment for this mime-type.

Parameters
[in]commentThe comment string.

◆ SetExtension()

void mitk::CustomMimeType::SetExtension ( const std::string &  extension)

Set a single file extension, replacing all existing extensions.

Parameters
[in]extensionThe file extension (without leading dot).

◆ SetName()

void mitk::CustomMimeType::SetName ( const std::string &  name)

Set the unique name of this mime-type.

Parameters
[in]nameThe new mime-type name.

◆ Swap()

void mitk::CustomMimeType::Swap ( CustomMimeType &  r)

Swap the contents of this CustomMimeType with another.

Parameters
[in,out]rThe CustomMimeType to swap with.

The documentation for this class was generated from the following file: