X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=netinstall%2Fnetio.h;fp=netinstall%2Fnetio.h;h=b0a91ca00d0e66619acc187bc406967b9da248af;hp=0000000000000000000000000000000000000000;hb=1ecbe603154527afa87c21523aedd8e3bda77c2f;hpb=131844b7560952b4f8e1cb8628d9115e0f2f29d2 diff --git a/netinstall/netio.h b/netinstall/netio.h new file mode 100644 index 0000000..b0a91ca --- /dev/null +++ b/netinstall/netio.h @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2000, Red Hat, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * A copy of the GNU General Public License can be found at + * http://www.gnu.org/ + * + * Written by DJ Delorie + * + */ + +/* This is the parent class for all the access methods known to setup + (i.e. ways to download files from the internet or other sources */ + +class NetIO { +protected: + NetIO (char *url); + void set_url (char *url); + +public: + /* if nonzero, this is the estimated total file size */ + int file_size; + /* broken down url FYI */ + char *url; + char *proto; + char *host; + int port; + char *path; + virtual ~NetIO (); + + /* The user calls this function to create a suitable accessor for + the given URL. It uses the network setup state in state.h. If + anything fails, either the return values is NULL or the returned + object is !ok() */ + static NetIO * open (char *url); + + /* If !ok() that means the transfer isn't happening. */ + virtual int ok (); + + /* Read `nbytes' bytes from the file. Returns zero when the file + is complete. */ + virtual int read (char *buf, int nbytes); + + /* Helper functions for http/ftp protocols. Both return nonzero for + "cancel", zero for "ok". They set net_proxy_user, etc, in + state.h */ + int get_auth (); + int get_proxy_auth (); +};