Commit graph

1004 commits

Author SHA1 Message Date
Yuri Kunde Schlesner
1e8c1ed676 ServiceFramework: Use separate copy of command buffer
Copy the IPC command buffer to/from the request context before/after the
handler is invoked. This is part of a move away from using global data
for handling IPC requests.
2017-06-11 13:07:33 -07:00
Yuri Kunde Schlesner
74aaf0d5c7 Merge pull request #2756 from yuriks/service-framework
New service framework
2017-06-08 21:03:03 -07:00
Yuri Kunde Schlesner
211fea5441 Service/sm: Convert 'srv:' to ServiceFramework 2017-06-08 20:59:19 -07:00
Yuri Kunde Schlesner
147ec9e842 Service: Remove a few redundant namespace qualifiers 2017-06-08 00:11:37 -07:00
Yuri Kunde Schlesner
0a7f4f531f Service: Add new ServiceFramework framework for writing HLE services
The old "Interface" class had a few problems such as using free
functions (Which didn't allow you to write the service handler as if it
were a regular class.) which weren't very extensible. (Only received one
parameter with a pointer to the Interface object.)

The new ServiceFramework aims to solve these problems by working with
member functions and passing a generic context struct as parameter. This
struct can be extended in the future without having to update all
existing service implementations.
2017-06-08 00:11:37 -07:00
James Rowe
5639a00972 Merge pull request #2737 from Subv/decryptbeacondata
Services/UDS: Implement DecryptBeaconData.
2017-06-07 10:08:43 -06:00
Subv
656f26c4df Services/UDS: Implement DecryptBeaconData.
This function decrypts the encrypted data tags contained in the 802.11 beacon frames.
2017-06-06 11:31:20 -05:00
Yuri Kunde Schlesner
f68fd997cd Service: Remove unnecessary includes from service.h
This has a huge fallout in terms of needing to fix other files because
all service implementations included that file.
2017-06-06 02:57:23 -07:00
Yuri Kunde Schlesner
0e3e091a0d Service: Make service registration part of the sm implementation
Also enhances the GetServiceHandle implementation to be more accurate.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner
d9e7be32de Service/sm: Use an actual semaphore for the notification semaphore
An Event was used way back then when we didn't have proper working
semaphores. Our Semaphore implementation is good enough now.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner
c17330e05f Service: Move SRV interface to a new sm/ subdirectory
This will contain the implementation of the sm (Service Manager) system
module.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner
8a35f3634e Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSession
This allows attaching a HLE handle to a ServerPort at any point after it
is created, allowing port/session creation to be generic between HLE and
regular services.
2017-06-06 02:56:32 -07:00
Yuri Kunde Schlesner
41a3feea66 HLE: Move SessionRequestHandler from Service:: to Kernel::
Most of the code that works with this is or will be in the kernel, so
it's a more appropriate place for it to be.
2017-06-05 23:40:11 -07:00
TheKoopaKingdom
e0f8f75f43 Addressed Bunnei's review comments, and made some other tweaks:
- Deleted GetStatus() because it wasn't used anywhere outside of Core::System.
 - Fixed design flaw where the message bar status could be set despite the game being stopped.
2017-06-02 18:40:39 -04:00
TheKoopaKingdom
fa11f957f4 Switched to the ERROR_NOT_FOUND constant from errors.h. 2017-06-02 18:40:39 -04:00
TheKoopaKingdom
af0a2f11d9 Moved whitelist checks from FS_User to the Archive_NCCH handler. 2017-06-02 18:40:27 -04:00
TheKoopaKingdom
b817071212 Created a whitelist of system archives to prevent false positives creating dialogs. 2017-06-02 18:28:14 -04:00
TheKoopaKingdom
cee9b78a15 Made some changes from review comments:
- Made LoadKernelSystemMode return a pair consisting of a system mode and a result code (Could use review).
- Deleted ErrorOpenGL error code in favor of just having ErrorVideoCore.
- Made dialog messages more clear.
- Compared archive ID in fs_user.cpp to ArchiveIdCode::NCCH as opposed to hex magic.
- Cleaned up some other stuff.
2017-06-02 18:28:14 -04:00
TheKoopaKingdom
3a32a33fde Added system for handling core errors in citra-qt. 2017-06-02 18:27:56 -04:00
bunnei
c5b12080e7 Merge pull request #2722 from wwylele/cam-ipc-helper
CAM: use IPCHelper
2017-05-31 19:47:37 -04:00
Yuri Kunde Schlesner
ecfda5317e Kernel: Move HandleTable to a separate file 2017-05-29 17:34:39 -07:00
Yuri Kunde Schlesner
7b560a8b81 Core: Fix some out-of-style includes 2017-05-27 16:31:42 -07:00
wwylele
3342bb1fa9 fixup!cam: use IPCHelper 2017-05-27 21:30:07 +03:00
Yuri Kunde Schlesner
782c6b1923 FS: Remove unused result definition 2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
467545ed48 Kernel: Centralize error definitions in errors.h 2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
6210a1aaf3 GSP_GPU: Move error codes from result.h to local file 2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
2d147a1c0d FileSys: Move all result description to errors.h 2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
f2e65b5cbc result: Make error description a generic integer
It is now known that result code description vary depending on the
module, and so they're best defined on a per-module basis. To support
this, allow passing in an arbitrary integer instead of limiting to the
ones in the ErrorDescription enum. These will be gradually migrated to
their individual users, but a few will be kept as "common" codes shared
by all modules.
2017-05-24 21:05:59 -07:00
wwylele
3b34518bcf cam: move u32->u8 trancation to IPCHelper 2017-05-24 12:50:19 +03:00
wwylele
e82ac2e80f cam: use IPCHelper 2017-05-24 12:45:36 +03:00
bunnei
fa45d8a35e Merge pull request #2661 from Subv/uds5
Services/UDS: Generate 802.11 beacon frames when a network is open.
2017-05-19 11:04:34 -04:00
emmaus
603f9246e1 use IPCHelper for PTM services 2017-05-19 08:44:58 +00:00
Subv
56031253c4 Services/UDS: Use the new IPC helper functions. 2017-05-15 13:05:17 -05:00
Subv
2472e71eb0 Services/UDS: Implement RecvBeaconBroadcastData.
This allows the applications to retrieve 802.11 beacon frames from nearby UDS networks.
Note that the networks are still not announced anywhere.
2017-05-15 13:05:16 -05:00
Subv
b722ca78a2 Services/UDS: Generate the UDS beacons when the beacon callback fires. 2017-05-15 13:05:15 -05:00
bunnei
5e8debd0b4 Merge pull request #2676 from wwylele/irrst
ir: implement new 3ds HID via ir:rst
2017-05-10 09:56:27 -04:00
wwylele
7bec8e32a8 fixup!ir: implement new 3ds HID via ir:rst 2017-05-07 21:53:27 +03:00
B3n30
e719319b10 Create a random console_unique_id (#2668)
* Create a random console_id when config save_file is created

Added button in system config to refresh the console unique id

* Moved the connect for the button from .ui file to constructor of ConfigureSystem

* Added warning and info dialog
Fixup: Make use of qt5 style connects,
  renamed the refresh button,
  removed some duplicate code,
  changed random device and moved all to the generate function

* Changed the random generator to reflect what a real 3DS stores as console unique id
Fixup: Changed the warning message

* Fixup: Set and Create

* Fixup: Added console id label, therfore removed second message box

* Fixup: fixed the endianess

* Fixup: more endianness fixes

* Fixup: Endianness the 3rd
2017-05-05 20:55:51 -04:00
wwylele
fced3273c1 ir: implement new 3ds HID via ir:rst 2017-05-04 12:59:28 +03:00
bunnei
4906d0617c Merge pull request #2606 from wwylele/ir
ir: implement circle pad pro
2017-05-03 22:34:12 -04:00
wwylele
eef121c30a ir: implement circle pad pro 2017-05-03 09:44:00 +03:00
Yuri Kunde Schlesner
3722af0876 Merge pull request #2532 from wwylele/ldrro-ipc
ldr_ro: use IPC helper
2017-04-18 00:32:01 -07:00
wwylele
3ba860133f ldr_ro: use IPC helper 2017-04-17 10:11:18 +03:00
bunnei
fcde0cf890 Merge pull request #2659 from MerryMage/dsp_dsp-correction
dsp_dsp: Messages are modified by service before being sent to DSP
2017-04-13 10:43:13 -04:00
MerryMage
1fb8824cac dsp_dsp: Messages are modified by service before being sent to DSP 2017-04-12 21:33:07 +01:00
Sebastian Valle
cb844a55d7 Merge pull request #2628 from Subv/uds
Services/UDS: Initial support for hosting local-wlan networks.
2017-04-12 11:57:24 -05:00
bunnei
a3eeb4ef71 Merge pull request #2533 from Lectem/apt_ipchelper
IpcHelper enhancement and APT refactor
2017-04-06 14:44:52 -04:00
noah the goodra
4d81244114 error conversion fixes for soc_u 2017-04-03 10:19:42 -05:00
Sebastian Valle
4077eb3545 Services/UDS: Fixed a style mistake in GetChannel. 2017-03-27 13:08:26 -05:00
Subv
e6223853f0 Services/UDS: Use consistent spelling for WiFi and simplify the GetChannel function. 2017-03-26 08:17:57 -05:00