refact: add test-coverage.sh and some docs
Signed-off-by: ComixHe <heyuming@deepin.org>
This commit is contained in:
@ -8,7 +8,7 @@ set(LIB_NAME dde_am_static)
|
||||
|
||||
file(GLOB SRCS ${CMAKE_CURRENT_LIST_DIR}/*.cpp ${CMAKE_CURRENT_LIST_DIR}/*.h)
|
||||
|
||||
add_library(${LIB_NAME} ${SRCS})
|
||||
add_library(${LIB_NAME} STATIC ${SRCS})
|
||||
|
||||
target_include_directories(${LIB_NAME} PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
|
@ -8,7 +8,13 @@
|
||||
constexpr auto SystemdService = u8"org.freedesktop.systemd1";
|
||||
constexpr auto SystemdObjectPath = u8"/org/freedesktop/systemd1";
|
||||
constexpr auto SystemdInterfaceName = u8"org.freedesktop.systemd1.Manager";
|
||||
constexpr auto DDEApplicationManager1ServiceName = u8"org.deepin.dde.ApplicationManager1";
|
||||
constexpr auto DDEApplicationManager1ServiceName =
|
||||
#ifdef DEBUG_MODE
|
||||
u8"org.deepin.dde.debug.ApplicationManager1";
|
||||
#else
|
||||
u8"org.deepin.dde.ApplicationManager1";
|
||||
#endif
|
||||
|
||||
constexpr auto DDEApplicationManager1ObjectPath = u8"/org/deepin/dde/ApplicationManager1";
|
||||
constexpr auto DDEApplicationManager1ApplicationObjectPath = u8"/org/deepin/dde/ApplicationManager1/Application/";
|
||||
constexpr auto DDEApplicationManager1InstanceObjectPath = u8"/org/deepin/dde/ApplicationManager1/Instance/";
|
||||
@ -16,7 +22,19 @@ constexpr auto DDEApplicationManager1JobManagerObjectPath = u8"/org/deepin/dde/A
|
||||
constexpr auto DDEApplicationManager1JobObjectPath = u8"/org/deepin/dde/ApplicationManager1/JobManager1/Job/";
|
||||
constexpr auto DesktopFileEntryKey = u8"Desktop Entry";
|
||||
constexpr auto DesktopFileActionKey = u8"Desktop Action ";
|
||||
constexpr auto ApplicationManagerServerDBusName = u8"deepin_application_manager_server_bus";
|
||||
constexpr auto ApplicationManagerDestDBusName = "deepin_application_manager_dest_bus";
|
||||
|
||||
constexpr auto ApplicationManagerServerDBusName =
|
||||
#ifdef DEBUG_MODE
|
||||
u8"deepin_application_manager_debug_server_bus";
|
||||
#else
|
||||
u8"deepin_application_manager_server_bus";
|
||||
#endif
|
||||
|
||||
constexpr auto ApplicationManagerDestDBusName =
|
||||
#ifdef DEBUG_MODE
|
||||
u8"deepin_application_manager_debug_dest_bus";
|
||||
#else
|
||||
u8"deepin_application_manager_dest_bus";
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -76,7 +76,7 @@ private:
|
||||
|
||||
if constexpr (std::is_same_v<T, DesktopFile>) {
|
||||
m_applicationPath =
|
||||
#ifdef QT_DEBUG
|
||||
#ifdef DEBUG_MODE
|
||||
QDBusObjectPath{objectPath + escapeToObjectPath(dbusAppid)};
|
||||
#else
|
||||
QDBusObjectPath{objectPath + QUuid::createUuid().toString(QUuid::Id128)};
|
||||
|
@ -87,9 +87,9 @@ DesktopErrorCode DesktopEntry::parseEntry(const QString &str, decltype(m_entryMa
|
||||
|
||||
std::optional<DesktopFile> DesktopFile::searchDesktopFileByPath(const QString &desktopFile, DesktopErrorCode &err) noexcept
|
||||
{
|
||||
constexpr decltype(auto) desktopPostfix = ".desktop";
|
||||
constexpr decltype(auto) desktopSuffix = ".desktop";
|
||||
|
||||
if (!desktopFile.endsWith(desktopPostfix)) {
|
||||
if (!desktopFile.endsWith(desktopSuffix)) {
|
||||
qWarning() << "file isn't a desktop file:" << desktopFile;
|
||||
err = DesktopErrorCode::MismatchedFile;
|
||||
return std::nullopt;
|
||||
@ -111,7 +111,7 @@ std::optional<DesktopFile> DesktopFile::searchDesktopFileByPath(const QString &d
|
||||
});
|
||||
|
||||
if (idGen) {
|
||||
auto tmp = path.chopped(sizeof(desktopPostfix) - 1);
|
||||
auto tmp = path.chopped(sizeof(desktopSuffix) - 1);
|
||||
auto components = tmp.split(QDir::separator()).toList();
|
||||
auto it = std::find(components.cbegin(), components.cend(), "applications");
|
||||
QString FileId;
|
||||
@ -138,9 +138,10 @@ std::optional<DesktopFile> DesktopFile::searchDesktopFileByPath(const QString &d
|
||||
std::optional<DesktopFile> DesktopFile::searchDesktopFileById(const QString &appId, DesktopErrorCode &err) noexcept
|
||||
{
|
||||
auto XDGDataDirs = getXDGDataDirs();
|
||||
constexpr auto desktopSuffix = u8".desktop";
|
||||
|
||||
for (const auto &dir : XDGDataDirs) {
|
||||
auto app = QFileInfo{dir + QDir::separator() + appId};
|
||||
auto app = QFileInfo{dir + QDir::separator() + appId + desktopSuffix};
|
||||
while (!app.exists()) {
|
||||
auto filePath = app.absoluteFilePath();
|
||||
auto hyphenIndex = filePath.indexOf('-');
|
||||
@ -155,6 +156,8 @@ std::optional<DesktopFile> DesktopFile::searchDesktopFileById(const QString &app
|
||||
return searchDesktopFileByPath(app.absoluteFilePath(), err);
|
||||
}
|
||||
}
|
||||
|
||||
err = DesktopErrorCode::NotFound;
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user