#! /usr/bin/perl
# 
# $Id$
# Captive project Preview page Perl template.
# Copyright (C) 2003 Jan Kratochvil <project-www.jankratochvil.net@jankratochvil.net>
# 
# 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; exactly version 2 of June 1991 is required
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA


package project::captive::Preview;
require 5.6.0;	# at least 'use warnings;' but we need some 5.6.0+ modules anyway
our $VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
our $CVS_ID=q$Id$;
use strict;
use warnings;

BEGIN{ open F,"Makefile"; our $top_dir=pop @{[split /\s/,(grep /^top_srcdir/,<F>)[0]]}; eval "use lib '$top_dir'"; close F; }
use My::Web;
Wrequire 'My::Project';


My::Web->init(
		"__PACKAGE__"=>__PACKAGE__,
		"title"=>'Captive NTFS Technology Preview',
		"head_css"=>"
td { padding: 10px; text-align: center; }
table { border-collapse: collapse; border-style: solid; }
",
		"WebConfig::heading_novskip"=>1,
		);
My::Web->heading();
print My::Project->section("captive");

print "<h1>Captive NTFS Technology Preview</h1>\n";

sub preview_img ($$;$)
{
my($file_base,$text,$comment)=@_;

	return <<"HERE";
<table border="1" align="center">
<tr><td>@{[ img $file_base,$text ]}</td></tr>
<tr><td><b>$text</b>@{[ map((!$_ ? "" : "<br />$_"),$comment) ]}</td></tr>
</table>
@{[ vskip "3ex" ]}
HERE
}

print preview_img 'doc/ntdebug-ntfs','WinDbg Remote NT Kernel NTFS Debugging';
print preview_img 'doc/dia/arch-all','Captive Components Architecture',''
		.'<font color="red">Red color</font> indicates Captive components for the most common LUFS use case.<br />'
		.'<font color="violet">Violet color</font> indicates system components for the most common LUFS use case.';
print preview_img 'doc/arch-captive','Captive Subsystems Architecture';
print preview_img 'doc/arch-W32','Original Microsoft Windows Subsystems Architecture';
print preview_img 'doc/ratio','Functions Reusal Ratio';
print preview_img 'doc/fig/functype_patched_wrap_fromw32','Code Wrapping of a Call from Microsoft Windows Code';
print preview_img 'doc/dia/inheritance','Sandboxing Scheme with GObject Inheritance';
print preview_img 'doc/dia/parent-connector','Parent Connector for Sandbox Slave Restarts Handling';
print preview_img 'doc/dia/cache-manager','NT Cache Manager Scheme';
print preview_img 'doc/ntdebug-windbg-boot','Windows NT Remote Kernel Debug Mode During System Boot';
print preview_img 'doc/dia/TraceFS','TraceFS Debugging Hook for NT Cache Manager Analysis';
print preview_img 'captive-install-acquire','Captive Microsoft Windows Drivers Acquire Utility';


My::Web->footer();
