Commit Graph

4 Commits

Author SHA1 Message Date
Maurice ONeal
347e01eeff Added a new command and fixed a crash bug
Created a new client command called 'ls_cmds' that will
list all available commands. This more like a revival of
an old command that existed in the past. It's function
was once added to 'about' but now it has been re-spun
into it's own command once again.

Fixed a bug that caused the 'connect' command to crash
the client after calling it with the '-save' option and
then the 'ls_cmds' command. The connect command actual
creates a SaveBookmark command object when called with
the '-save' option. The problem was its constructor was
replacing it's existing object pointer in the command
list with a pointer that was about to get destroyed
after calling the '-save' option, causing the command
object list to contain a null pointer for save_bookmark.
2020-03-30 12:23:21 -04:00
Maurice ONeal
ac364c1e8f Added multi-threaded support
along with the main thread, the project now supports 3
additional threads.

-the Session object operates in it's own thread that
 will take data directly from the host, process and
 direct it to various parts of the client.

-the main GUI and client command objects will continue
 to operate on the main thread.

-the GenFile object which is dedicated to processing
 GEN_FILE data to or from the host will operate in
 it's own thread.

-last thread is for a new object called TextWorker.
 this object will take all of the text buffered from
 all of other objects and then send the text to be
 displayed by the main GUI in a slower, controlled
 manner.

by building out all of these threads, the main GUI
will not lag even when the host or the client itself
is outputting an excessive amount of data.

fixed a bug that prevented the client from being able
to totally unhook a genfile command of it crashes.

also reduced the default max lines from 5000 to 1000.
2019-12-04 22:01:52 -05:00
Maurice ONeal
51c2e63a24 Major upgrade and changes
the MRCI protocol has been upgraded to support branch ids
so running multiple instances of the same command can run
at the same time at the host side. this client however
will still continue to run host commands in FIFO but this
is something that can be added in the near future.

another change to the protocol is the version negotiation
is now entirely one-sided so just the client can now
decide of the host version is acceptable or not.

the NEW_CMD frames from MRCI host will now include all of
the command documentation so listing of all available
commands and documentation is now entirely client
controlled because the host no longer have built in
documentation commands.

this client's Session object now operate in it's own
thread. for now, this does nothing but this is a prelude
for future performance updates that will including
multi-threading.
2019-11-23 14:37:41 -05:00
Maurice O'Neal
735ca85a53 Initial commit for the Cmdr project. 2019-09-14 13:03:34 -04:00