Overview

HTTPS SSH
The C++ Middleware Writer (CMW) and the software found in
this repository provide support for messaging and serialization.

License
The software is under the BSD 2-clause license.  Two of the
files, quicklz.h and quicklz.c, are from another developer
and should only be used in conjunction with the CMW.

Building
There are two makefiles here: one for BSD/Linux and one for
Windows.  The BSD version is called "makefile" and the Windows
version is called "makefile.windows".  If you're using Windows,
you may want to rename makefile.windows to makefile.  If you're
using a big-endian machine, add -DCMW_ENDIAN_BIG to the
CXXFLAGS in the makefile.

A library and two programs are built.  The programs are the
middle and front tiers of the C++ Middleware Writer (CMW).
The middle tier is called the CMW Ambassador (CMWA).  The
front tier is called "genz" and is a command line interface.
On Windows, only the library and front tier are built.


Accounts
An account is needed to use the CMW.  Before running the
programs, you have to get an account and modify your
cmwAmbassador.cfg file to include your account number(s)
and password(s).


Running the CMW Ambassador (after installing):

cmwAmbassador cmwAmbassador.cfg

After starting the CMW Ambassador, run genz like this:

genz 14 /home/brian/onwards/example/example.req

or on Windows:

.\genz.exe 14 /Users/brian/onwards/example/example.req

14 is an account number.  Substitute your account number there.

The path for a .req file is next -- req is short for request.
Zero or more header files and one "Middle file" are listed in
a .req file to specify a request.  There's more info on
Middle files here -- http://webEbenezer.net/middle.html.
A .req file also has the settings for various options.

Once you have built the software, I suggest copying
example.req and example.mdl to one of your directories
and modifying the copies according to your needs.


Troubleshooting
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 "breaking changes"
between the back and middle tier.  (We may have changed
the protocol between these tiers and now older versions
of the middle tier no longer work right.)  The thing to do
in this case is to check our website for an announcement/
email that you may have missed.  Probably you will have to
clone/download the new version of the repository and then
reinstall in order to fix the problem.

If you move/rename include files listed in your .req files,
you should also touch those files so the changes will be
"noticed" by the CMWA.


Thank you for using the software.