- Notifications
You must be signed in to change notification settings - Fork5
C++ messaging and serialization library
License
Ebenezer-group/onwards
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The C++ Middleware Writer (CMW) is an on-line code generator. The CMWand the software found in this repository provide support for messagingand serialization. Here's an exampleof theinputandoutput.A compiler with support for C++ 2020 or newer is required to use the CMW.
The software is under the BSD license. One of the files, quicklz.h, is from anotherdeveloper and should only be used in conjunction with the CMW.
Thelibraryis header-only.
Themiddle tierof the CMW, called "cmwA", is a Linux-only program. Non-Linux developerscan use the CMW by running the middle tier on a Linux system.Thefront tierof the CMW, called "genz", is built on all platforms.
The following can be used:
mkdir build; cd build
cmake -S .. -G "Unix Makefiles"
make
Before running the middle tier, modify your cmwA.cfg file to include yourambassador ID and password. The maximum length of an ambassador ID is 20.
The middle tier is used for two purposes: registration/signup andnormal operation. Before the middle tier can be run normally, you needto run it with the -signup flag:
cmwA cmwA.cfg -signup
The program exits when run this way. If the signup succeeds, a messageis output to the terminal indicating so. Otherwise, an error message islogged. After registering, the cmwA can be run normally:
nohup cmwA cmwA.cfg &
After successfully signing up, you can request one or more accounts beassociated with your ambassador. To get an account send an email tosupport@webEbenezer.net with "Account" as the subject, and mention theambassador ID that you have chosen.
After starting the cmwA, run genz like this:
genz 11 /home/brian/onwards/example/example.mdl
11 is an account number. Substitute your account number there.
The path to a Middle file (.mdl) is next. Zero or more headerfiles are listed in a Middle file to specify a request. There'smore info on Middle files here:https://github.com/Ebenezer-group/onwards/blob/master/doc/middleFiles.
Once you have built the software, I suggest copying example.mdlto one of your directories and modifying the copy according toyour needs.
The middle tier has to be running for the front tier to work.If genz fails with "No reply received. Is the cmwA running?"make sure the middle tier is running.
Another possible problem could be due to a "breaking change"between the back and middle tiers. We may have changed theprotocol between these tiers and now your version of themiddle tier no longer works. The thing to do in this caseis to check our website for an announcement/email that youmay have missed. Probably you will have to clone the newversion of the repo and then rebuild and reinstall in orderto fix the problem.
If you have only moved/renamed header files listed in your.mdl files, you will need to touch those files (updatetimestamps) so the changes will be "noticed" by the cmwA.
Thank you for using the software.
About
C++ messaging and serialization library