Applet Manager services: Difference between revisions

(2 intermediate revisions by the same user not shown)
Line 20: Line 20:
| 350 || OpenSystemApplicationProxy || Returns an [[#IApplicationProxy]].
| 350 || OpenSystemApplicationProxy || Returns an [[#IApplicationProxy]].
|-
|-
| 400 || CreateSelfLibraryAppletCreatorForDevelop || Returns an [[#ILibraryAppletCreator]].
| 400 || [[#CreateSelfLibraryAppletCreatorForDevelop]] ||
|-
|-
| 410 || [6.0.0+] GetSystemAppletControllerForDebug || Returns an [[#ISystemAppletControllerForDebug]].
| 410 || [6.0.0+] [[#GetSystemAppletControllerForDebug]] ||
|-
|-
| 1000 || [6.0.0+] GetDebugFunctions || Returns an [[#IDebugFunctions]].
| 1000 || [6.0.0+] [[#GetDebugFunctions]] ||
|}
|}


All of these commands except [[#OpenLibraryAppletProxy]] take the same input as [[#OpenApplicationProxy]], with the same user-process retry-loop as [[#OpenApplicationProxy]]. These Open*Proxy commands (including appletOE) doesn't seem to usable from processes which aren't actual applets (such as sysmodules), at least for applet-types which aren't already in use.
All of these Open*Proxy commands except [[#OpenLibraryAppletProxy]] take the same input as [[#OpenApplicationProxy]], with the same user-process retry-loop as [[#OpenApplicationProxy]]. These Open*Proxy commands (including appletOE) doesn't seem to usable from processes which aren't actual applets (such as sysmodules), at least for applet-types which aren't already in use.


This service is used by all system non-regular-applications.
This service is used by all system non-regular-applications.
Line 44: Line 44:


Official user-processes use the same retry loop with this as the other Open*Proxy commands.
Official user-processes use the same retry loop with this as the other Open*Proxy commands.
== CreateSelfLibraryAppletCreatorForDevelop ==
Takes a PID and an input u64 pid_placeholder, returns an [[#ILibraryAppletCreator]].
The cached value loaded from [[Settings_services#GetDebugModeFlag]] must be 1, otherwise an error is returned.
The cached value loaded from [[System_Settings|system-setting]] <code>am.debug!dev_function</code> must be set to 0x1 with size 0x1, otherwise an error is returned.
== GetSystemAppletControllerForDebug ==
No input, returns an [[#ISystemAppletControllerForDebug]].
The cached value loaded from [[System_Settings|system-setting]] <code>am.debug!dev_function</code> must be set to 0x1 with size 0x1, and various state checks must pass, otherwise 0 is returned with no output interface.
== GetDebugFunctions ==
No input, returns an [[#IDebugFunctions]].
The cached value loaded from [[System_Settings|system-setting]] <code>am.debug!dev_function</code> must be set to 0x1 with size 0x1, otherwise 0 is returned with no output interface.


== ISystemAppletProxy ==
== ISystemAppletProxy ==