KAuth::HelperSupport Namespace

namespace KAuth::HelperSupport

Support class with some KAUTHCORE_EXPORT methods useful to the helper's code. More...

Header: #include <KAuth/HelperSupport>
CMake: find_package(KF6 REQUIRED COMPONENTS Auth)
target_link_libraries(mytarget PRIVATE KF6::AuthCore)
Since: 4.4

Functions

(since 5.74) int callerUid()
int helperMain(int argc, char **argv, const char *id, QObject *responder)
bool isStopped()
void progressStep(const QVariantMap &data)
void progressStep(int step)

Detailed Description

This class provides the API to write the helper tool that executes your actions. You don't create instances of HelperSupport. Instead, you use its KAUTHCORE_EXPORT methods.

This them you can notify the application of progress in your action's execution and you can check if the application asked you to terminate it.

Function Documentation

[since 5.74] int HelperSupport::callerUid()

Obtains the caller user id if available.

This method offers a way to obtain the unprivileged client's UID if possible. For example when a D-Bus-based backend is used this will resolve the caller of the D-Bus method and obtain its process' UID.

Return caller UID or -1 when not available

This function was introduced in 5.74.

int HelperSupport::helperMain(int argc, char **argv, const char *id, QObject *responder)

Method that implements the main function of the helper tool. Do not call directly

This method is called in the proper way by the code generated by the KAUTH_HELPER_MAIN() macro, which creates a main() function for the helper tool. You shouldn't call this method directly.

argc The argc parameter from the main() function.

argv The argv parameter from the main() function.

id The helper ID as passed to the macro

responder The responder object for the helper. The macro passes a default-constructed, heap-allocated object of the class specified as the last macro parameter

bool HelperSupport::isStopped()

Check if the caller asked the helper to stop the execution

This method will return true if the helper has been asked to stop the execution of the current action. If this happens, your helper should return (NOT exit). The meaning of the data you return in this case is application-dependent.

It's good practice to check it regularly if you have a long-running action

Returns true if the helper has been asked to stop, false otherwise

See also ExecuteJob::kill.

void HelperSupport::progressStep(const QVariantMap &data)

Send a progressStep signal to the caller application

You can use this method to notify progress information about the action execution. When you call this method, the KAuth::ExecuteJob object associated with the current action will emit the progressStep(QVariantMap) signal. The meaning of the data passed here is totally application dependent.

If you only need a simple percentage value, use the other overload which takes an int.

data The progress data

void HelperSupport::progressStep(int step)

Send a progressStep signal to the caller application

You can use this method to notify progress information about the action execution. When you call this method, the KAuth::ExecuteJob object associated with the current action will emit the KJob::percent(KJob*, unsigned long) signal. The meaning of the integer passed here is totally application dependent, but you'll want to use it as a sort of percentage. If you need to be more expressive, use the other overload which takes a QVariantMap

step The progress indicator