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

Implementation of IMimeTypeProvider that tracks MIME type services. More...

#include <mitkMimeTypeProvider.h>

Inheritance diagram for mitk::MimeTypeProvider:
Collaboration diagram for mitk::MimeTypeProvider:

Public Member Functions

 MimeTypeProvider ()
 
 ~MimeTypeProvider () override
 
void Start ()
 Start tracking MIME type services. More...
 
void Stop ()
 Stop tracking MIME type services. More...
 
std::vector< MimeType > GetMimeTypes () const override
 Get all currently registered MIME types (highest-ranked per name). More...
 
std::vector< MimeType > GetMimeTypesForFile (const std::string &filePath) const override
 Get all MIME types that match the given file path. More...
 
std::vector< MimeType > GetMimeTypesForCategory (const std::string &category) const override
 Get all MIME types belonging to the given category. More...
 
MimeType GetMimeTypeForName (const std::string &name) const override
 Get the highest-ranked MIME type with the given name. More...
 
std::vector< std::string > GetCategories () const override
 Get all unique MIME type categories. More...
 
- Public Member Functions inherited from mitk::IMimeTypeProvider
virtual ~IMimeTypeProvider ()
 

Detailed Description

Implementation of IMimeTypeProvider that tracks MIME type services.

Uses a CppMicroServices ServiceTracker to dynamically discover and manage CustomMimeType service registrations. For each MIME type name, keeps track of all registered variants and provides the highest-ranked one. This class must be started (Start()) before use and stopped (Stop()) before destruction.

See also
IMimeTypeProvider
CustomMimeType
MimeType

Definition at line 52 of file mitkMimeTypeProvider.h.

Constructor & Destructor Documentation

◆ MimeTypeProvider()

mitk::MimeTypeProvider::MimeTypeProvider ( )

◆ ~MimeTypeProvider()

mitk::MimeTypeProvider::~MimeTypeProvider ( )
override

Member Function Documentation

◆ GetCategories()

std::vector<std::string> mitk::MimeTypeProvider::GetCategories ( ) const
overridevirtual

Get all unique MIME type categories.

Returns
A sorted vector of unique category strings.

Implements mitk::IMimeTypeProvider.

◆ GetMimeTypeForName()

MimeType mitk::MimeTypeProvider::GetMimeTypeForName ( const std::string &  name) const
overridevirtual

Get the highest-ranked MIME type with the given name.

Parameters
[in]nameThe MIME type name.
Returns
The MimeType, or an invalid MimeType if not found.

Implements mitk::IMimeTypeProvider.

◆ GetMimeTypes()

std::vector<MimeType> mitk::MimeTypeProvider::GetMimeTypes ( ) const
overridevirtual

Get all currently registered MIME types (highest-ranked per name).

Returns
A vector of all known MimeType objects.

Implements mitk::IMimeTypeProvider.

◆ GetMimeTypesForCategory()

std::vector<MimeType> mitk::MimeTypeProvider::GetMimeTypesForCategory ( const std::string &  category) const
overridevirtual

Get all MIME types belonging to the given category.

Parameters
[in]categoryThe category to filter by.
Returns
A vector of matching MimeType objects.

Implements mitk::IMimeTypeProvider.

◆ GetMimeTypesForFile()

std::vector<MimeType> mitk::MimeTypeProvider::GetMimeTypesForFile ( const std::string &  filePath) const
overridevirtual

Get all MIME types that match the given file path.

Results are sorted by rank in descending order (highest rank first).

Parameters
[in]filePathThe file path to match against.
Returns
A vector of matching MimeType objects.

Implements mitk::IMimeTypeProvider.

◆ Start()

void mitk::MimeTypeProvider::Start ( )

Start tracking MIME type services.

Opens the internal ServiceTracker. Must be called before any query methods.

◆ Stop()

void mitk::MimeTypeProvider::Stop ( )

Stop tracking MIME type services.

Closes the internal ServiceTracker. Must be called before destruction.


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