Class IntegrationManager
Defined in File IntegrationManager.h
Class Documentation
-
class IntegrationManager
Public Functions
-
explicit IntegrationManager()
Instantiate an Integration manager that will use as XDG_DATA_HOME the one pointed by the system configuration.
-
explicit IntegrationManager(const std::string &xdgDataHome)
Instantiate an Integration manager that will use as XDG_DATA_HOME the one pointed by the <xdgDataHome>
-
IntegrationManager(const IntegrationManager &other)
Creates an IntegrationManager instance from <other> IntegrationManager
- Parameters:
other –
-
IntegrationManager &operator=(const IntegrationManager &other)
Copy the <other> instance data into the current one.
- Parameters:
other –
- Returns:
-
virtual ~IntegrationManager()
-
void registerAppImage(const core::AppImage &appImage) const
Register an AppImage in the system.
Extract the application main desktop entry, icons and mime type packages. Modifies their content to properly match the AppImage file location and deploy them into the use XDG_DATA_HOME appending a prefix to each file. Such prefix is composed as “<vendor id>_<appimage_path_md5>_<old_file_name>”
- Parameters:
appImage –
-
void unregisterAppImage(const std::string &appImagePath) const
Unregister an AppImage in the system.
Remove all files created by the registerAppImage function. The files are identified by matching the AppImageId contained in their names. The Id is made from the MD5 checksum of the <appImagePath>.
- Parameters:
appImagePath –
-
bool isARegisteredAppImage(const std::string &appImagePath) const
Check whether the AppImage pointed by <appImagePath> has been registered in the system.
Explore XDG_DATA_HOME/applications looking for Destkop Entries files with a file name that matches the current AppImage Id (MD5 checksum of the <appImagePath>)
- Parameters:
appImagePath –
- Returns:
true if the AppImage is registered, false otherwise.
-
bool shallAppImageBeRegistered(const core::AppImage &appImage) const
Check whether the author of an AppImage doesn’t want it to be integrated.
An AppImage is considered that shall not be integrated if fulfill any of the following conditions:
The AppImage’s desktop file has set X-AppImage-Integrate=false.
The AppImage’s desktop file has set Terminal=true.
- Parameters:
appImage –
- Returns:
false if any of the conditions are meet, true otherwise
-
explicit IntegrationManager()