GrailGUI is a prototype of a replacement for web programming (HTTP, HTML, CSS, JavaScript) and GUI programming. It includes a client graphical API, a browser implemented in C++ and OpenGL, a protocol to transmit metadata and data in binary, a language (XDL) to describe the binary data, and local storage to retain data on the client should that be necessary. Encrypted communications (equivalent of TLS) have not yet been implemented.
Similar to #21, we should probably just have a text file that is read from at compile time. I'll look into how feasible it is to run Python scripts from CMake so we can just auto-generate Errcodes.cc and Errnames.cc at compile time.
Proposal:
[x] Create a file /proj/errors.json
[x] Insert each error in a format similar to "Error String": "ErrorCode"
[x] Create a script /proj/error_gen.py
[x] Read in each error key-value pair
[x] Write out all the keys (Error Strings) to Errnames.cc as part of the existing enum
[x] Write out all the values (ErrorCodes) to Errcodes.cc as part of the existing enum
[x] Add execution of /proj/error_gen.py to CMake
[x] Make sure build waits for /proj/error_gen.py to run and has all required errors
Similar to #21, we should probably just have a text file that is read from at compile time. I'll look into how feasible it is to run Python scripts from CMake so we can just auto-generate
Errcodes.cc
andErrnames.cc
at compile time.Proposal:
/proj/errors.json
"Error String": "ErrorCode"
/proj/error_gen.py
Errnames.cc
as part of the existing enumErrcodes.cc
as part of the existing enum/proj/error_gen.py
to CMake/proj/error_gen.py
to run and has all required errors