0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-24 18:51:54 +00:00
Commit Graph

7 Commits

Author SHA1 Message Date
Ondrej Zajicek
a5e9f3d26f Restructures birdc and birdcl to merge duplicated code.
The BIRD client code is restructured that most of the code (including
main function) is shared in client.c, while birdc.c and birdcl.c contain
just I/O-specific callbacks. This removes all duplicated code from
variant-specific files.
2013-04-23 02:42:35 +02:00
Ondrej Zajicek
d2c392d448 Removes unnecessary client subdirectories and updates buildsystem.
Renames some files:
birdc/client.c -> birdc.c
birdcl/client.c -> birdcl.c
client_common.c -> common.c
2013-04-19 13:59:08 +02:00
Tomas Hlavacek
8322ecde12 Add lightweight client - birdcl
Restructure client/ subdir. Add two different flavors of client.
The full featured birdc client code is in client/birdc/.
The new light client birtcl is in client/birdcl/.
Common sources of both clients are directly in client/.

Rework on-line auto-completion in client/command.c to conditionally turn off
ncurses-specific code.

Add lightweight client without libreadline and ncurses dependencies - birdcl.
The birdcl lacks support of history, on-line auto-completion and there
are different implementations of "more" functionality and help on '?' press.
New client operates in canonical terminal mode (apart from "more" display)
and therefore all commands have to be executed by a return key including help
commands (called by '?' character in the end of the line).
Apart from these limitations the interaction style should be the same as
for the full client - birdc.
Build of birdcl is always on (independent on --enable-client parameter).
2013-03-19 18:03:49 +01:00
Tomas Hlavacek
e454916149 Pull out independent routines from client_full.c
Pull out routines for interacting with the server and interpreting
internal commands which are not dependent on libreadline and
ncurses libraries.

This is a preparation step for a new lightweight birdc client.
2013-03-19 18:03:49 +01:00
Tomas Hlavacek
5c2c4ea8b1 Rename client/client.c to client_full.c
Rename client/client.c to client-full.c and change the Makefile accordingly.
This is a preparation step for introducing a new lightweight client which
should reuse as much code as possible from the old one but it should not depend
on external libraries.

Signed-off-by: Tomas Hlavacek <tmshlvck@gmail.com>
2013-03-19 18:03:49 +01:00
Martin Mares
9fac310d1a Put client on a stony ground. The whole client is going to be system-specific
(the current version UNIX-specific) anyway, so it's useless to try splitting it
to sysdep and generic part. Instead of this, configure script decides (based on
system type and user's wish) what (if any) client should be built and what
autoconfiguration it requires. Also, the client provides its own die/bug/...
functions.
2000-01-19 15:07:00 +00:00
Martin Mares
ed6081502a Added skeleton of the client. Does nothing, but at least compiles. 1999-10-29 09:44:44 +00:00