1. Brian Wood
  2. onwards


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

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

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 a 
Microsoft compiler, 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.

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
front tier is built.

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.mdl

or on Windows:

genz.exe 14 /Users/brian/onwards/example/example.mdl

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

The path for a .mdl file is next.  Zero or more header
files are listed in a .mdl file to specify a request.
There's more info on .mdl files here --

Once you have built the software, I suggest copying
example.mdl to one of your directories and modifying
the copy according to your 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 "breaking changes"
between the back and middle tiers.  (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 header files listed in your .mdl files,
you should also touch those files so the changes will be
"noticed" by the CMWA.

Thank you for using the software.