citra/src/common
EverOddish 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
..
logging Initial support for scripting (#4016) 2018-09-11 22:00:12 +02:00
x64 Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
alignment.h Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
announce_multiplayer_room.h web_service: Change authentication system to use JWT (#4041) 2018-08-25 21:39:23 +02:00
assert.h reformat all files with clang-format 2018-06-29 16:56:12 +03:00
bit_field.h Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
bit_set.h Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
chunk_file.h reformat all files with clang-format 2018-06-29 16:56:12 +03:00
cityhash.cpp Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
cityhash.h Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
CMakeLists.txt common: Remove unused old breakpoint source files 2018-09-01 00:04:25 +02:00
color.h common/color: Remove unnecessary const qualifiers on return types 2018-08-10 09:35:28 +08:00
common_funcs.h Merge pull request #4021 from FearlessTobi/port-709 2018-08-02 11:00:53 -06:00
common_paths.h Logging: Add customizable logging backends and fmtlib based macros 2018-04-23 21:32:56 -06:00
common_types.h
file_util.cpp Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
file_util.h Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
hash.h Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
linear_disk_cache.h
math_util.h math_util: Always initialize members of Rectangle 2018-08-10 10:11:25 +08:00
memory_util.cpp Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
memory_util.h Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
microprofile.cpp
microprofile.h
microprofileui.h
misc.cpp Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
param_package.cpp param_package: Take std::string by value in string-based Set() function 2018-08-01 17:21:11 +08:00
param_package.h param_package: Take std::string by value in string-based Set() function 2018-08-01 17:21:11 +08:00
quaternion.h Update the entire application to use the new clang format style 2018-03-09 10:54:43 -07:00
scm_rev.cpp.in common: Parse Nightly/Canary build version 2018-06-20 09:30:26 +08:00
scm_rev.h common: Parse Nightly/Canary build version 2018-06-20 09:30:26 +08:00
scope_exit.h Update the entire application to use the new clang format style 2018-03-09 10:54:43 -07:00
string_util.cpp Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
string_util.h Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
swap.h common/swap: Remove unnecessary const on return value of swap() 2018-07-30 21:30:15 +08:00
telemetry.cpp
telemetry.h telemetry: Remove unnecessary Field constructor 2018-07-18 16:18:34 -04:00
thread.cpp
thread.h Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
thread_queue_list.h Update the entire application to use the new clang format style 2018-03-09 10:54:43 -07:00
threadsafe_queue.h remove polymorphism issue 2018-07-21 16:16:21 +02:00
timer.cpp Address review comments 2018-09-06 00:00:21 +02:00
timer.h common/timer: use std::chrono, avoid platform-dependent code 2018-07-22 15:40:07 +08:00
vector_math.h vector_math: Use variable template version of is_signed in Vec classes 2018-08-30 23:38:32 +02:00