Updated action compatibility (#15)
This commit is contained in:
14
res/doc
14
res/doc
@@ -39,10 +39,10 @@
|
||||
# This is actually the basename of the watch's filename as specified in its KFMon config (i.e., the png).
|
||||
# You can also check the output of the 'list' command via the kfmon-ipc tool.
|
||||
# nickel_setting - one of:
|
||||
# invert - toggles FeatureSettings.InvertScreen (all versions)
|
||||
# invert - toggles FeatureSettings.InvertScreen
|
||||
# lockscreen - toggles PowerSettings.UnlockEnabled (4.12.12111+)
|
||||
# screenshots - toggles FeatureSettings.Screenshots (all versions)
|
||||
# force_wifi - toggles DeveloperSettings.ForceWifiOn (note: the setting doesn't apply until you toggle WiFi) (all versions)
|
||||
# screenshots - toggles FeatureSettings.Screenshots
|
||||
# force_wifi - toggles DeveloperSettings.ForceWifiOn (note: the setting doesn't apply until you toggle WiFi)
|
||||
# nickel_extras - the mimetype of the plugin, or one of:
|
||||
# web_browser
|
||||
# unblock_it
|
||||
@@ -52,11 +52,11 @@
|
||||
# word_scramble
|
||||
# nickel_misc - one of:
|
||||
# force_usb_connection - forces a usb connection dialog to be shown
|
||||
# rescan_books - forces nickel to rescan books
|
||||
# rescan_books_full - forces a full usb connect/disconnect cycle
|
||||
# rescan_books - forces nickel to rescan books (4.13.12638+)
|
||||
# rescan_books_full - forces a full usb connect/disconnect cycle (4.13.12638+)
|
||||
# power - one of:
|
||||
# shutdown
|
||||
# reboot
|
||||
# shutdown (4.13.12638+)
|
||||
# reboot (4.13.12638+)
|
||||
# cmd_spawn - the command line to pass to /bin/sh -c (started in /)
|
||||
# It can be prefixed with "quiet:" to prevent the toast with the process PID from being displayed.
|
||||
# cmd_output - the timeout in milliseconds (0 < t < 10000), a colon, then the command line to pass to /bin/sh -c (started in /)
|
||||
|
||||
@@ -166,12 +166,12 @@ NM_ACTION_(nickel_setting) {
|
||||
vtable_ptr(settings) = vtable_target(PowerSettings_vtable);
|
||||
|
||||
if (!strcmp(arg, "lockscreen")) {
|
||||
//libnickel 4.6 * _ZN13PowerSettings16getUnlockEnabledEv
|
||||
//libnickel 4.12.12111 * _ZN13PowerSettings16getUnlockEnabledEv
|
||||
bool (*PowerSettings__getUnlockEnabled)(Settings*);
|
||||
reinterpret_cast<void*&>(PowerSettings__getUnlockEnabled) = dlsym(RTLD_DEFAULT, "_ZN13PowerSettings16getUnlockEnabledEv");
|
||||
NM_ASSERT(PowerSettings__getUnlockEnabled, "could not dlsym PowerSettings::getUnlockEnabled");
|
||||
|
||||
//libnickel 4.6 * _ZN13PowerSettings16setUnlockEnabledEb
|
||||
//libnickel 4.12.12111 * _ZN13PowerSettings16setUnlockEnabledEb
|
||||
bool (*PowerSettings__setUnlockEnabled)(Settings*, bool);
|
||||
reinterpret_cast<void*&>(PowerSettings__setUnlockEnabled) = dlsym(RTLD_DEFAULT, "_ZN13PowerSettings16setUnlockEnabledEb");
|
||||
NM_ASSERT(PowerSettings__setUnlockEnabled, "could not dlsym PowerSettings::setUnlockEnabled");
|
||||
@@ -246,7 +246,7 @@ NM_ACTION_(nickel_extras) {
|
||||
|
||||
// the QObject is only used to pass events to it, but there's something I'm missing here which leads to it segfaulting after connecting to WiFi if it isn't already connected
|
||||
/*
|
||||
//libnickel 4.6 * _ZN22BrowserWorkflowManagerC1EP7QObject
|
||||
//libnickel 4.11.11911 * _ZN22BrowserWorkflowManagerC1EP7QObject
|
||||
void (*BrowserWorkflowManager_BrowserWorkflowManager)(BrowserWorkflowManager*, QObject*);
|
||||
reinterpret_cast<void*&>(BrowserWorkflowManager_BrowserWorkflowManager) = dlsym(RTLD_DEFAULT, "_ZN22BrowserWorkflowManagerC1EP7QObject");
|
||||
NM_ASSERT(BrowserWorkflowManager_BrowserWorkflowManager, "could not dlsym BrowserWorkflowManager constructor");
|
||||
@@ -285,12 +285,12 @@ NM_ACTION_(nickel_extras) {
|
||||
NM_ACTION_(nickel_misc) {
|
||||
#define NM_ERR_RET nullptr
|
||||
if (!strcmp(arg, "rescan_books")) {
|
||||
//libnickel 4.6 * _ZN19PlugWorkflowManager14sharedInstanceEv
|
||||
//libnickel 4.13.12638 * _ZN19PlugWorkflowManager14sharedInstanceEv
|
||||
PlugWorkflowManager *(*PlugWorkflowManager_sharedInstance)();
|
||||
reinterpret_cast<void*&>(PlugWorkflowManager_sharedInstance) = dlsym(RTLD_DEFAULT, "_ZN19PlugWorkflowManager14sharedInstanceEv");
|
||||
NM_ASSERT(PlugWorkflowManager_sharedInstance, "could not dlsym PlugWorkflowManager::sharedInstance");
|
||||
|
||||
//libnickel 4.6 * _ZN19PlugWorkflowManager4syncEv
|
||||
//libnickel 4.13.12638 * _ZN19PlugWorkflowManager4syncEv
|
||||
void (*PlugWorkflowManager_sync)(PlugWorkflowManager*);
|
||||
reinterpret_cast<void*&>(PlugWorkflowManager_sync) = dlsym(RTLD_DEFAULT, "_ZN19PlugWorkflowManager4syncEv");
|
||||
NM_ASSERT(PlugWorkflowManager_sync, "could not dlsym PlugWorkflowManager::sync");
|
||||
@@ -300,18 +300,18 @@ NM_ACTION_(nickel_misc) {
|
||||
|
||||
PlugWorkflowManager_sync(wf);
|
||||
} else if (!strcmp(arg, "rescan_books_full")) {
|
||||
//libnickel 4.6 * _ZN19PlugWorkflowManager14sharedInstanceEv
|
||||
//libnickel 4.13.12638 * _ZN19PlugWorkflowManager14sharedInstanceEv
|
||||
PlugWorkflowManager *(*PlugWorkflowManager_sharedInstance)();
|
||||
reinterpret_cast<void*&>(PlugWorkflowManager_sharedInstance) = dlsym(RTLD_DEFAULT, "_ZN19PlugWorkflowManager14sharedInstanceEv");
|
||||
NM_ASSERT(PlugWorkflowManager_sharedInstance, "could not dlsym PlugWorkflowManager::sharedInstance");
|
||||
|
||||
// this is what is called by PlugWorkflowManager::plugged after confirmation
|
||||
//libnickel 4.6 * _ZN19PlugWorkflowManager18onCancelAndConnectEv
|
||||
//libnickel 4.13.12638 * _ZN19PlugWorkflowManager18onCancelAndConnectEv
|
||||
void (*PlugWorkflowManager_onCancelAndConnect)(PlugWorkflowManager*);
|
||||
reinterpret_cast<void*&>(PlugWorkflowManager_onCancelAndConnect) = dlsym(RTLD_DEFAULT, "_ZN19PlugWorkflowManager18onCancelAndConnectEv");
|
||||
NM_ASSERT(PlugWorkflowManager_onCancelAndConnect, "could not dlsym PlugWorkflowManager::onCancelAndConnect");
|
||||
|
||||
//libnickel 4.6 * _ZN19PlugWorkflowManager9unpluggedEv
|
||||
//libnickel 4.13.12638 * _ZN19PlugWorkflowManager9unpluggedEv
|
||||
void (*PlugWorkflowManager_unplugged)(PlugWorkflowManager*);
|
||||
reinterpret_cast<void*&>(PlugWorkflowManager_unplugged) = dlsym(RTLD_DEFAULT, "_ZN19PlugWorkflowManager9unpluggedEv");
|
||||
NM_ASSERT(PlugWorkflowManager_unplugged, "could not dlsym PlugWorkflowManager::unplugged");
|
||||
@@ -341,7 +341,7 @@ NM_ACTION_(nickel_misc) {
|
||||
NM_ACTION_(power) {
|
||||
#define NM_ERR_RET nullptr
|
||||
if (!strcmp(arg, "shutdown") || !strcmp(arg, "reboot")) {
|
||||
//libnickel 4.6 * _ZN22N3PowerWorkflowManager14sharedInstanceEv
|
||||
//libnickel 4.13.12638 * _ZN22N3PowerWorkflowManager14sharedInstanceEv
|
||||
N3PowerWorkflowManager *(*N3PowerWorkflowManager_sharedInstance)();
|
||||
reinterpret_cast<void*&>(N3PowerWorkflowManager_sharedInstance) = dlsym(RTLD_DEFAULT, "_ZN22N3PowerWorkflowManager14sharedInstanceEv");
|
||||
NM_ASSERT(N3PowerWorkflowManager_sharedInstance, "could not dlsym N3PowerWorkflowManager::sharedInstance, so cannot perform action cleanly (if you must, report a bug and use cmd_spawn instead)");
|
||||
@@ -350,7 +350,7 @@ NM_ACTION_(power) {
|
||||
NM_ASSERT(pwm, "could not get shared power manager pointer");
|
||||
|
||||
if (!strcmp(arg, "shutdown")) {
|
||||
//libnickel 4.6 * _ZN22N3PowerWorkflowManager8powerOffEb
|
||||
//libnickel 4.13.12638 * _ZN22N3PowerWorkflowManager8powerOffEb
|
||||
void (*N3PowerWorkflowManager_powerOff)(N3PowerWorkflowManager*, bool); // bool is for if it's due to low battery
|
||||
reinterpret_cast<void*&>(N3PowerWorkflowManager_powerOff) = dlsym(RTLD_DEFAULT, "_ZN22N3PowerWorkflowManager8powerOffEb");
|
||||
NM_ASSERT(N3PowerWorkflowManager_powerOff, "could not dlsym N3PowerWorkflowManager::powerOff");
|
||||
@@ -358,7 +358,7 @@ NM_ACTION_(power) {
|
||||
N3PowerWorkflowManager_powerOff(pwm, false);
|
||||
NM_RETURN_OK(nm_action_result_toast("Shutting down..."));
|
||||
} else if (!strcmp(arg, "reboot")) {
|
||||
//libnickel 4.6 * _ZN22N3PowerWorkflowManager6rebootEv
|
||||
//libnickel 4.13.12638 * _ZN22N3PowerWorkflowManager6rebootEv
|
||||
void (*N3PowerWorkflowManager_reboot)(N3PowerWorkflowManager*);
|
||||
reinterpret_cast<void*&>(N3PowerWorkflowManager_reboot) = dlsym(RTLD_DEFAULT, "_ZN22N3PowerWorkflowManager6rebootEv");
|
||||
NM_ASSERT(N3PowerWorkflowManager_reboot, "could not dlsym N3PowerWorkflowManager::reboot");
|
||||
|
||||
Reference in New Issue
Block a user