Commit Graph

3498 Commits

Author SHA1 Message Date
dce26367a2 ipc: fix typo 2018-09-13 11:51:08 -05:00
0a4d338ffa Merge pull request #4138 from FearlessTobi/change-web-links
web_service: Unify links for web service endpoints
2018-09-12 16:31:59 -04:00
b82bf1ccdb Change variable name to web_api_url 2018-09-12 19:07:06 +02:00
04dd91be82 Initial support for scripting (#4016)
* Add ZeroMQ external submodule

* ZeroMQ libzmq building on macOS

* Added RPC namespace, settings and logging

* Added request queue handling and new classes

* Add C++ interface to ZeroMQ

* Added start of ZeroMQ RPC Server implementation.

* Request construction and callback request handling

* Read and write memory implementation

* Add ID to request format and send reply

* Add RPC setting to macOS UI

* Fixed initialization order bug and added exception handling

* Working read-write through Python

* Update CMakeLists for libzmq to resolve target name conflict on Windows

* Platform-specific CMake definitions for Windows/non-Windows

* Add comments

* Revert "Add RPC setting to macOS UI"

* Always run RPC server instead of configurable

* Add Python scripting example. Updated .gitignore

* Rename member variables to remove trailing underscore

* Finally got libzmq external project building on macOS

* Add missing dependency during libzmq build

* Adding more missing dependencies [skip ci]

* Only build what is required from libzmq

* Extra length checks on client input

* Call InvalidateCacheRange after memory write

* Revert MinGW change. Fix clang-format. Improve error handling in request/reply. Allow any length of data read/write in Python.

* Re-organized RPC static global state into a proper class. [skip ci]

* Make sure libzmq always builds in Release mode

* Renamed Request to Packet since Request and Reply are the same thing

* Moved request fulfillment out of Packet and into RPCServer

* Change request thread from sleep to condition variable

* Remove non-blocking polling from ZMQ server code. Receive now blocks and terminates properly without sleeping. This change significantly improves script speed.

* Move scripting files to dist/ instead of src/

* C++ code review changes for jroweboy [skip ci]

* Python code review changes for jroweboy [skip ci]

* Add docstrings and tests to citra.py [skip ci]

* Add host OS check for libzmq build

* Revert "Add host OS check for libzmq build"

* Fixed a hang when emulation is stopped and restarted due to improper destruction order of ZMQ objects [skip ci]

* Add scripting directory to archive packaging [skip ci]

* Specify C/CXX compiler variables on MinGW build

* Only specify compiler on Linux mingw

* Use gcc and g++ on Windows mingw

* Specify generator for mingw

* Don't specify toolchain on windows mingw

* Changed citra.py to support Python 3 instead of Python 2

* Fix bug where RPC wouldn't restart after Stop/Start emulation

* Added copyright to headers and reorganized includes and forward declarations
2018-09-11 22:00:12 +02:00
0d15b99bfc service/cecd: Corrected cecd:s function table 2018-09-11 14:39:48 -04:00
105bcc95c0 service/cecd: Add hmac handling 2018-09-10 19:53:23 -04:00
192a0f3b92 service/cecd: Update handling of /outbox/boxinfo and /outbox/obindex 2018-09-10 04:21:24 -04:00
5c4da2d218 svc: change unknown to thread in CreateThread 2018-09-08 07:40:24 -05:00
648cecf1aa service/cecd: Utilize CryptoPP::Base64Encoder for message id 2018-09-07 23:09:14 -04:00
ad6b140cb0 service/apt: Implement soft reset & CloseApplication 2018-09-08 11:05:23 +08:00
ff1beca74a service/cecd: Fixed enum item naming style 2018-09-07 19:36:33 -04:00
7d8f115185 Prefix all size_t with std::
done automatically by executing regex replace `([^:0-9a-zA-Z_])size_t([^0-9a-zA-Z_])` -> `$1std::size_t$2`
2018-09-06 16:03:28 -04:00
eca98eeb3e Merge pull request #4143 from zhaowenlan1779/shared-font-text-fix
core, citra_qt: unify status of system archives and shared fonts
2018-09-06 20:51:32 +01:00
69b3217394 service/cecd: Addressed comments, code cleanup 2018-09-06 15:50:27 -04:00
c89759f597 service/cecd: Corrected eventlog.dat creation 2018-09-06 15:50:27 -04:00
c185c35bc2 service/cecd: Clang format fixup 2018-09-06 15:50:27 -04:00
dd7234a6d0 service/cecd: Migrate Common::StringFromFormat(...) to fmt::format(...) 2018-09-06 15:50:27 -04:00
25e7209d5c service/cecd: Updated function names 2018-09-06 15:50:27 -04:00
7a8477d106 service/cecd: Implement mboxlist handling 2018-09-06 15:50:27 -04:00
0e8398b51c service/cecd: Update header checks and increased debug logging 2018-09-06 15:50:27 -04:00
71204e525f service/cecd: Corrected behaviour, started checking and updating file headers 2018-09-06 15:50:27 -04:00
d88ad61da4 service/cecd: Output icon to MBoxData.001 and title to MBoxData.010 2018-09-06 15:50:27 -04:00
010fbd8614 service/cecd: Update default values for in/out box info header 2018-09-06 15:50:27 -04:00
d99585aa53 service/cecd: Add MBox directory check to OpenAndRead and OpenAndWrite and added a CreateAndPopulateMBoxDirectory function 2018-09-06 15:50:27 -04:00
30bbea3f4e service/cecd: Add initial files to archive after it is formatted 2018-09-06 15:50:27 -04:00
e27c1bd1f5 service/cecd: Addressed comment about PopEnum 2018-09-06 15:50:27 -04:00
413f1651b7 service/cecd: Implement basic file handling functions. 2018-09-06 15:50:26 -04:00
2ee395d7de service/cecd: Implement functions 2018-09-06 15:50:26 -04:00
5dacf92fd7 service/cecd: Stub some functions 2018-09-06 15:50:26 -04:00
cf8b1726df Address review comments 2018-09-06 00:00:21 +02:00
cb3ef488c7 Fixup! string_util: Remove StringFromFormat() and related functions 2018-09-06 00:00:21 +02:00
3284bef360 string_util: Remove StringFromFormat() and related functions
Given we utilize fmt, we don't need to provide our own functions for formatting anymore
2018-09-06 00:00:21 +02:00
0d6b1d161b web_service: Unify links for web service endpoints 2018-09-05 03:07:03 +02:00
dfb82b4dfd fixup! fix num_client_certs in CloseClientCertContext 2018-09-04 08:16:25 +02:00
a8af14ad12 change buffer index from 1 to 0. 2018-09-04 09:41:34 +07:00
ae6007bf9d Merge pull request #4069 from B3n30/wait_for_service_register
Service::SM: Wait till client is registered
2018-09-04 01:57:28 +03:00
fffa55b5d8 Merge pull request #4139 from tgsm/hid-update-table
Service/HID: update function table
2018-09-04 01:47:26 +03:00
cfd81be661 fixup! fixup! Service::SM: Wait till client is registered 2018-09-02 22:50:13 +02:00
ae37b404c6 fixup! fixup! Service::SM: Wait till client is registered 2018-09-02 16:42:41 +02:00
978611e51e Merge pull request #4086 from MerryMage/dynarmic-update-201808
externals: Update dynarmic
2018-09-02 09:55:32 +01:00
f1b8d091db Merge pull request #4157 from FearlessTobi/port-1048
Port #1048 from yuzu: "kernel/object: Tighten object against data races"
2018-09-02 09:54:49 +01:00
85e0553a1f Merge pull request #4165 from B3n30/log_ncch_load
NCCH_Container: Add file_path log to Load()
2018-09-02 09:52:30 +01:00
ac419c8612 Merge pull request #4159 from FearlessTobi/port-1067
Port yuzu-emu/yuzu#1067 from yuzu: "emu_window: Ensure WindowConfig members are always initialized"
2018-08-31 19:44:33 +08:00
13f2cc9964 Merge pull request #4162 from FearlessTobi/port-1126
Port yuzu-emu/yuzu#1126 from yuzu: "Don't allocate std::string instances for program lifetime in GetTelemetryId() and RegenerateTelemetryId()"
2018-08-31 17:39:49 +08:00
bfbb6f13b4 NCCH_COntainer: Add file_path log to Load() 2018-08-31 11:00:34 +02:00
893f6e9766 telemetry_session: Don't allocate std::string instances for program lifetime in GetTelemetryId() and RegenerateTelemetryId()
Given these functions aren't intended to be used frequently, there's no
need to keep the std::string instances allocated for the whole lifetime
of the program. It's just a waste of memory.
2018-08-31 01:51:32 +02:00
d82ecb67f7 emu_window: Ensure WindowConfig members are always initialized
Previously we weren't always initializing all members of the struct.
Prevents potentially wonky behavior from occurring.
2018-08-31 00:55:04 +02:00
8fa861c2c6 memory: Make prototype parameter names match their definitions
Keeps the code consistent.
2018-08-31 00:33:20 +02:00
379b8c65b9 memory: Remove unnecessary const qualifiers in prototypes
These aren't necessary, as value-wise const only matters in the
definition.
2018-08-31 00:22:55 +02:00
c47e1db46d kernel/object: Tighten object against data races
Despite being covered by a global mutex, we should still ensure that the
class handles its reference counts properly. This avoids potential
shenanigans when it comes to data races.

Given this is the root object that drives quite a bit of the kernel
object hierarchy, ensuring we always have the correct behavior (and no
races) is a good thing.
2018-08-31 00:14:48 +02:00