Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
us::ModuleResource Class Reference

Represents a resource (text file, image, etc.) embedded in a CppMicroServices module. More...

#include <usModuleResource.h>

Public Member Functions

 ModuleResource ()
 Creates an invalid ModuleResource object. More...
 
 ModuleResource (const ModuleResource &resource)
 Copy constructor. More...
 
 ~ModuleResource ()
 Destructor. More...
 
ModuleResource & operator= (const ModuleResource &resource)
 Assignment operator. More...
 
bool operator< (const ModuleResource &resource) const
 A less then operator using the full resource path as returned by GetResourcePath() to define the ordering. More...
 
bool operator== (const ModuleResource &resource) const
 Equality operator for ModuleResource objects. More...
 
bool operator!= (const ModuleResource &resource) const
 Inequality operator for ModuleResource objects. More...
 
bool IsValid () const
 Tests this ModuleResource object for validity. More...
 
 operator bool_type () const
 Boolean conversion operator using IsValid(). More...
 
std::string GetName () const
 Returns the name of the resource, excluding the path. More...
 
std::string GetPath () const
 Returns the resource's path, without the file name. More...
 
std::string GetResourcePath () const
 Returns the resource path including the file name. More...
 
std::string GetBaseName () const
 Returns the base name of the resource without the path. More...
 
std::string GetCompleteBaseName () const
 Returns the complete base name of the resource without the path. More...
 
std::string GetSuffix () const
 Returns the suffix of the resource. More...
 
std::string GetCompleteSuffix () const
 Returns the complete suffix of the resource. More...
 
bool IsDir () const
 Returns true if this ModuleResource object points to a directory and thus may have child resources. More...
 
bool IsFile () const
 Returns true if this ModuleResource object points to a file resource. More...
 
std::vector< std::string > GetChildren () const
 Returns a list of resource names which are children of this object. More...
 
std::vector< ModuleResource > GetChildResources () const
 Returns a list of resource objects which are children of this object. More...
 
int GetSize () const
 Returns the size of the resource data for this ModuleResource object. More...
 
time_t GetLastModified () const
 Returns the last modified time of this resource in seconds from the epoch. More...
 

Detailed Description

Represents a resource (text file, image, etc.) embedded in a CppMicroServices module.

A ModuleResource object provides information about a resource (external file) which was embedded into this module's shared library. ModuleResource objects can be obtained be calling Module::GetResource or Module::FindResources.

Example code for retrieving a resource object and reading its contents:

// Get this module's Module object
ModuleResource resource = module->GetResource("config.properties");
if (resource.IsValid())
{
// Create a ModuleResourceStream object
ModuleResourceStream resourceStream(resource);
// Read the contents line by line
std::string line;
while (std::getline(resourceStream, line))
{
// Process the content
std::cout << line << std::endl;
}
}
else
{
// Error handling
}
Module * GetModule() const
Returns the Module object associated with this ModuleContext. This module is called the context modul...
friend class ModuleResourceStream
ModuleResource()
Creates an invalid ModuleResource object.
static ModuleContext * GetModuleContext()
Returns the module context of the calling module.

ModuleResource objects have value semantics and copies are very inexpensive.

See also
ModuleResourceStream
The Resources System

Definition at line 47 of file usModuleResource.h.

Constructor & Destructor Documentation

◆ ModuleResource() [1/2]

us::ModuleResource::ModuleResource ( )

Creates an invalid ModuleResource object.

◆ ModuleResource() [2/2]

us::ModuleResource::ModuleResource ( const ModuleResource &  resource)

Copy constructor.

Parameters
[in]resourceThe object to be copied.

◆ ~ModuleResource()

us::ModuleResource::~ModuleResource ( )

Destructor.

Member Function Documentation

◆ GetBaseName()

std::string us::ModuleResource::GetBaseName ( ) const

Returns the base name of the resource without the path.

Example:

ModuleResource resource = module->GetResource("/data/archive.tar.gz");
std::string base = resource.GetBaseName(); // base = "archive"
Returns
The resource base name.
See also
GetName(), GetSuffix(), GetCompleteSuffix() and GetCompleteBaseName()

◆ GetChildren()

std::vector<std::string> us::ModuleResource::GetChildren ( ) const

Returns a list of resource names which are children of this object.

The returned names are relative to the path of this ModuleResource object and may contain file as well as directory entries.

Returns
A list of child resource names.

◆ GetChildResources()

std::vector<ModuleResource> us::ModuleResource::GetChildResources ( ) const

Returns a list of resource objects which are children of this object.

The return ModuleResource objects may contain files as well as directory resources.

Returns
A list of child resource objects.

◆ GetCompleteBaseName()

std::string us::ModuleResource::GetCompleteBaseName ( ) const

Returns the complete base name of the resource without the path.

Example:

ModuleResource resource = module->GetResource("/data/archive.tar.gz");
std::string base = resource.GetCompleteBaseName(); // base = "archive.tar"
Returns
The resource's complete base name.
See also
GetName(), GetSuffix(), GetCompleteSuffix(), and GetBaseName()

◆ GetCompleteSuffix()

std::string us::ModuleResource::GetCompleteSuffix ( ) const

Returns the complete suffix of the resource.

The suffix consists of all characters in the resource name after (but not including) the first '.'.

Example:

ModuleResource resource = module->GetResource("/data/archive.tar.gz");
std::string suffix = resource.GetCompleteSuffix(); // suffix = "tar.gz"
Returns
The resource name suffix.
See also
GetName(), GetSuffix(), GetBaseName(), and GetCompleteBaseName()

◆ GetLastModified()

time_t us::ModuleResource::GetLastModified ( ) const

Returns the last modified time of this resource in seconds from the epoch.

Returns
Last modified time of this resource.

◆ GetName()

std::string us::ModuleResource::GetName ( ) const

Returns the name of the resource, excluding the path.

Example:

ModuleResource resource = module->GetResource("/data/archive.tar.gz");
std::string name = resource.GetName(); // name = "archive.tar.gz"
Returns
The resource name.
See also
GetPath(), GetResourcePath()

◆ GetPath()

std::string us::ModuleResource::GetPath ( ) const

Returns the resource's path, without the file name.

Example:

ModuleResource resource = module->GetResource("/data/archive.tar.gz");
std::string path = resource.GetPath(); // path = "/data/"

The path with always begin and end with a forward slash.

Returns
The resource path without the name.
See also
GetResourcePath(), GetName() and IsDir()

◆ GetResourcePath()

std::string us::ModuleResource::GetResourcePath ( ) const

Returns the resource path including the file name.

Returns
The resource path including the file name.
See also
GetPath(), GetName() and IsDir()

◆ GetSize()

int us::ModuleResource::GetSize ( ) const

Returns the size of the resource data for this ModuleResource object.

Returns
The resource data size.

◆ GetSuffix()

std::string us::ModuleResource::GetSuffix ( ) const

Returns the suffix of the resource.

The suffix consists of all characters in the resource name after (but not including) the last '.'.

Example:

ModuleResource resource = module->GetResource("/data/archive.tar.gz");
std::string suffix = resource.GetSuffix(); // suffix = "gz"
Returns
The resource name suffix.
See also
GetName(), GetCompleteSuffix(), GetBaseName() and GetCompleteBaseName()

◆ IsDir()

bool us::ModuleResource::IsDir ( ) const

Returns true if this ModuleResource object points to a directory and thus may have child resources.

Returns
true if this object points to a directory, false otherwise.

◆ IsFile()

bool us::ModuleResource::IsFile ( ) const

Returns true if this ModuleResource object points to a file resource.

Returns
true if this object points to an embedded file, false otherwise.

◆ IsValid()

bool us::ModuleResource::IsValid ( ) const

Tests this ModuleResource object for validity.

Invalid ModuleResource objects are created by the default constructor or can be returned by the Module class if the resource path is not found.

Returns
true if this ModuleReource object is valid and can safely be used, false otherwise.

◆ operator bool_type()

us::ModuleResource::operator bool_type ( ) const

Boolean conversion operator using IsValid().

◆ operator!=()

bool us::ModuleResource::operator!= ( const ModuleResource &  resource) const

Inequality operator for ModuleResource objects.

Parameters
[in]resourceThe object for testing inequality.
Returns
The result of !(*this == resource).

◆ operator<()

bool us::ModuleResource::operator< ( const ModuleResource &  resource) const

A less then operator using the full resource path as returned by GetResourcePath() to define the ordering.

Parameters
[in]resourceThe object to which this ModuleResource object is compared to.
Returns
true if this ModuleResource object is less then resource, false otherwise.

◆ operator=()

ModuleResource& us::ModuleResource::operator= ( const ModuleResource &  resource)

Assignment operator.

Parameters
[in]resourceThe ModuleResource object which is assigned to this instance.
Returns
A reference to this ModuleResource instance.

◆ operator==()

bool us::ModuleResource::operator== ( const ModuleResource &  resource) const

Equality operator for ModuleResource objects.

Parameters
[in]resourceThe object for testing equality.
Returns
true if this ModuleResource object is equal to resource, i.e. they are coming from the same module (shared or static) and have an equal resource path, false otherwise.

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