Mercurial > hg > xemacs-beta
view netinstall/download.cc @ 4917:fce43cb76a1c
xlike cleanup, documentation
-------------------- ChangeLog entries follow: --------------------
man/ChangeLog addition:
2010-02-03 Ben Wing <ben@xemacs.org>
* internals/internals.texi (Top):
* internals/internals.texi (Evaluation; Stack Frames; Bindings):
* internals/internals.texi (Ben's README):
* internals/internals.texi (Consoles; Devices; Frames; Windows):
* internals/internals.texi (Window Hierarchy):
* internals/internals.texi (The Window Object):
* internals/internals.texi (Modules for the Basic Displayable Lisp Objects):
* internals/internals.texi (Window-System Support):
* internals/internals.texi (Creating a Window-System Type):
* internals/internals.texi (Discussion -- Garbage Collection):
Update the part at the top about how to maintain the file with
more tips.
Add a chapter on "window-system support" describing in a general
way how the support for different window systems/device types
works, including the separation between device-independent and
device-dependent parts, device methods, the specific device types
and the "xlike" pseudo-type.
src/ChangeLog addition:
2010-02-03 Ben Wing <ben@xemacs.org>
* Makefile.in.in:
* Makefile.in.in (x_objs):
* Makefile.in.in (gtk_gui_objs):
* console-xlike-inc.h:
* depend:
* device-x.c:
* emacs.c:
* gccache-gtk.h:
* gccache-gtk.h (gc_cache_lookup):
* gccache-x.c:
* gccache-x.c (GCCACHE_HASH):
* gccache-x.h:
* toolbar-gtk.c:
* toolbar-gtk.c (gtk_initialize_frame_toolbars):
* toolbar-x.c:
* toolbar-x.c (x_initialize_frame_toolbars):
* toolbar-xlike.c:
* toolbar-xlike.c (xlike_draw_blank_toolbar_button):
* toolbar-xlike.c (xlike_output_toolbar_button):
* toolbar-xlike.c (xlike_get_button_size):
* toolbar-xlike.c (XLIKE_OUTPUT_BUTTONS_LOOP):
* toolbar-xlike.c (xlike_output_toolbar):
* toolbar-xlike.c (xlike_clear_toolbar):
* toolbar-xlike.c (xlike_output_frame_toolbars):
* toolbar-xlike.c (xlike_clear_frame_toolbars):
* toolbar-xlike.c (xlike_redraw_exposed_toolbar):
* toolbar-xlike.c (xlike_redraw_exposed_toolbars):
* toolbar-xlike.c (xlike_redraw_frame_toolbars):
* toolbar-xlike.h:
* toolbar-xlike.h (xlike_clear_frame_toolbars):
Rename some files to make them consistent with general naming rules:
xgccache.c -> gccache-x.c
xgccache.h -> gccache-x.h
toolbar-common.c -> toolbar-xlike.c
toolbar-common.h -> toolbar-xlike.h
Fix include-file references. Also change the names of functions
in now-named toolbar-xlike.c to be xlike_foo() instead of common_foo().
Add a longish comment in console-xlike-inc.h describing the "xlike"
system, how it works and what the various files are used for.
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Wed, 03 Feb 2010 02:46:50 -0600 |
parents | ce0b3f2eff35 |
children |
line wrap: on
line source
/* * 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 <dj@cygnus.com> * */ /* The purpose of this file is to download all the files we need to do the installation. */ #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include "win32.h" #include "resource.h" #include "msg.h" #include "ini.h" #include "dialog.h" #include "concat.h" #include "geturl.h" #include "state.h" #include "mkdir.h" #include "log.h" static int download_one (char *name, int expected_size) { char *local = name; struct stat s; if (stat (local, &s) >= 0) if (s.st_size == expected_size) return 0; mkdir_p (0, local); if (get_url_to_file (concat (MIRROR_SITE, "/", name, 0), concat (local, ".tmp", 0), expected_size)) { note (IDS_DOWNLOAD_FAILED, name); return 1; } else { stat (concat (local, ".tmp", 0), &s); if (s.st_size == expected_size) { log (0, "Downloaded %s", local); rename (concat (local, ".tmp", 0), local); } else { log (0, "Download %s wrong size (%d actual vs %d expected)", local, s.st_size, expected_size); note (IDS_DOWNLOAD_SHORT, local, s.st_size, expected_size); return 1; } } return 0; } void do_download (HINSTANCE h) { int i; int errors = 0; for (i=0; i<npackages; i++) if (package[i].action == ACTION_NEW || package[i].action == ACTION_UPGRADE) { int e = download_one (pi.install, pi.install_size); if (package[i].srcaction == SRCACTION_YES && pi.source) e += download_one (pi.source, pi.source_size); errors += e; if (e) package[i].action = ACTION_ERROR; } dismiss_url_status_dialog (); if (errors) { if (yesno (IDS_DOWNLOAD_INCOMPLETE) == IDYES) { next_dialog = IDD_SITE; return; } } if (source == IDC_SOURCE_DOWNLOAD) { if (errors) exit_msg = IDS_DOWNLOAD_INCOMPLETE; else exit_msg = IDS_DOWNLOAD_COMPLETE; next_dialog = 0; } else next_dialog = IDD_S_INSTALL; }