I don't think we need this any longer
|
@ -1,16 +0,0 @@
|
|||
Version 1.1
|
||||
-----------
|
||||
Ferenc Gerlits
|
||||
Ákos Maróy
|
||||
János Csikós
|
||||
Mark Kretschmann
|
||||
Ian Monroe
|
||||
Mugur Rus
|
||||
Tomáš Hlava
|
||||
|
||||
Version 1.0
|
||||
-----------
|
||||
Ákos Maróy
|
||||
Ferenc Gerlits
|
||||
Sebastian Göbel
|
||||
Tomáš Hlava
|
|
@ -1,38 +0,0 @@
|
|||
--------------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2004-2006 Media Development Loan Fund
|
||||
|
||||
This file is part of the Campcaster project.
|
||||
http://campcaster.campware.org/
|
||||
To report bugs, send an e-mail to bugs@campware.org
|
||||
|
||||
Campcaster 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.
|
||||
|
||||
Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
|
||||
Author : $Author$
|
||||
Version : $Revision$
|
||||
Location : $URL$
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Installing on Ubuntu Dapper and Debian
|
||||
http://code.campware.org/projects/campcaster/wiki/DevelopmentEnvironment
|
||||
|
||||
Installing on Other Platforms
|
||||
doc/install.html
|
||||
|
||||
Campcaster HomePage
|
||||
http://campcaster.campware.org/
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
--------------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2004-2006 Media Development Loan Fund
|
||||
|
||||
This file is part of the Campcaster project.
|
||||
http://campcaster.campware.org/
|
||||
To report bugs, send an e-mail to bugs@campware.org
|
||||
|
||||
Campcaster 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.
|
||||
|
||||
Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
|
||||
Author : $Author$
|
||||
Version : $Revision$
|
||||
Location : $URL$
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Building on Ubuntu Dapper or Debian
|
||||
http://code.campware.org/projects/campcaster/wiki/DevelopmentEnvironment
|
||||
|
||||
Installing on Other Platforms
|
||||
doc/install.html
|
||||
doc/gettingStarted.html
|
||||
|
||||
User Documentation
|
||||
http://code.campware.org/manuals/campcaster/1.0/
|
||||
|
||||
Developer Documentation
|
||||
doc/index.html
|
||||
|
||||
Campcaster HomePage
|
||||
http://campcaster.campware.org/
|
|
@ -1,485 +0,0 @@
|
|||
#!/bin/bash
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author: fgerlits $
|
||||
# Version : $Revision: 2292 $
|
||||
# Location : $URL: svn+ssh://tomash@code.campware.org/home/svn/repo/livesupport/trunk/livesupport/bin/postInstallStation.sh $
|
||||
#-------------------------------------------------------------------------------
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script makes installation steps for the Campcaster network hub.
|
||||
#
|
||||
# Invoke as:
|
||||
# ./bin/archiveServerSetup.sh
|
||||
#
|
||||
# To get usage help, try the -h option
|
||||
#
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
etcdir=$basedir/etc
|
||||
srcdir=$basedir/src
|
||||
toolsdir=$srcdir/tools
|
||||
modules_dir=$srcdir/modules
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Print the usage information for this script.
|
||||
#-------------------------------------------------------------------------------
|
||||
printUsage()
|
||||
{
|
||||
echo "Campcaster network hub install script.";
|
||||
echo "parameters";
|
||||
echo "";
|
||||
echo " -d, --directory The installation directory, required.";
|
||||
echo " -D, --database The name of the Campcaster database.";
|
||||
echo " [default: CampcasterHub]";
|
||||
echo " -g, --apache-group The group the apache daemon runs as.";
|
||||
echo " [default: www-data]";
|
||||
echo " -r, --www-root The root directory for web documents served";
|
||||
echo " by apache [default: /var/www]";
|
||||
echo " -s, --dbserver The name of the database server host.";
|
||||
echo " [default: localhost]";
|
||||
echo " -u, --dbuser The name of the database user to access the"
|
||||
echo " database. [default: campcaster]";
|
||||
echo " -w, --dbpassword The database user password.";
|
||||
echo " [default: campcaster]";
|
||||
echo " -p, --postgresql-dir The postgresql data directory, containing";
|
||||
echo " pg_hba.conf [default: /etc/postgresql]";
|
||||
echo " -i, --postgresql-init-script The name of the postgresql init";
|
||||
echo " script [default: /etc/init.d/postgresql]";
|
||||
echo " -h, --help Print this message and exit.";
|
||||
echo "";
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Process command line parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CMD=${0##*/}
|
||||
|
||||
opts=$(getopt -o d:D:g:hi:p:r:s:u:w: -l apache-group:,database:,dbserver:,dbuser:,dbpassword:,directory:,help,postgresql-dir:,postgresql-init-script:,www-root: -n $CMD -- "$@") || exit 1
|
||||
eval set -- "$opts"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-d|--directory)
|
||||
installdir=$2;
|
||||
shift; shift;;
|
||||
-D|--database)
|
||||
database=$2;
|
||||
shift; shift;;
|
||||
-g|--apache-group)
|
||||
apache_group=$2;
|
||||
shift; shift;;
|
||||
-h|--help)
|
||||
printUsage;
|
||||
exit 0;;
|
||||
-i|--postgresql-init-script)
|
||||
postgresql_init_script=$2;
|
||||
shift; shift;;
|
||||
-p|--postgresql-dir)
|
||||
postgresql_dir=$2;
|
||||
shift; shift;;
|
||||
-r|--www-root)
|
||||
www_root=$2;
|
||||
shift; shift;;
|
||||
-s|--dbserver)
|
||||
dbserver=$2;
|
||||
shift; shift;;
|
||||
-u|--dbuser)
|
||||
dbuser=$2;
|
||||
shift; shift;;
|
||||
-w|--dbpassword)
|
||||
dbpassword=$2;
|
||||
shift; shift;;
|
||||
--)
|
||||
shift;
|
||||
break;;
|
||||
*)
|
||||
echo "Unrecognized option $1.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "x$installdir" == "x" ]; then
|
||||
echo "Required parameter install directory not specified.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ "x$dbserver" == "x" ]; then
|
||||
dbserver=localhost;
|
||||
fi
|
||||
|
||||
if [ "x$database" == "x" ]; then
|
||||
database=CampcasterHub;
|
||||
fi
|
||||
|
||||
if [ "x$dbuser" == "x" ]; then
|
||||
dbuser=campcaster;
|
||||
fi
|
||||
|
||||
if [ "x$dbpassword" == "x" ]; then
|
||||
dbpassword=campcaster;
|
||||
fi
|
||||
|
||||
if [ "x$apache_group" == "x" ]; then
|
||||
apache_group=www-data;
|
||||
fi
|
||||
|
||||
if [ "x$postgresql_dir" == "x" ]; then
|
||||
postgresql_dir=/etc/postgresql;
|
||||
fi
|
||||
|
||||
if [ "x$postgresql_init_script" == "x" ]; then
|
||||
postgresql_init_script=/etc/init.d/postgresql;
|
||||
fi
|
||||
|
||||
if [ "x$www_root" == "x" ]; then
|
||||
www_root=/var/www;
|
||||
fi
|
||||
|
||||
hostname=`hostname -f`
|
||||
www_port=80
|
||||
|
||||
echo "Installing Campcaster network hub (archiveServer).";
|
||||
echo "";
|
||||
echo "Using the following installation parameters:";
|
||||
echo "";
|
||||
echo " installation directory: $installdir";
|
||||
echo " database server: $dbserver";
|
||||
echo " database: $database";
|
||||
echo " database user: $dbuser";
|
||||
echo " database user password: $dbpassword";
|
||||
echo " apache daemon group: $apache_group";
|
||||
echo " apache document root: $www_root";
|
||||
echo " postgresql data directory: $postgresql_dir";
|
||||
echo " postgresql init script: $postgresql_init_script";
|
||||
echo " hostname: $hostname";
|
||||
echo " www port: $www_port";
|
||||
echo ""
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# The details of installation
|
||||
#-------------------------------------------------------------------------------
|
||||
ls_dbserver=$dbserver
|
||||
ls_dbuser=$dbuser
|
||||
ls_dbpassword=$dbpassword
|
||||
ls_database=$database
|
||||
|
||||
postgres_user=postgres
|
||||
|
||||
install_bin=$installdir/bin
|
||||
install_etc=$installdir/etc
|
||||
install_lib=$installdir/lib
|
||||
install_usr=$installdir/usr
|
||||
install_var_ls=$installdir/var/Campcaster
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Function to check for the existence of an executable on the PATH
|
||||
#
|
||||
# @param $1 the name of the exectuable
|
||||
# @return 0 if the executable exists on the PATH, non-0 otherwise
|
||||
#-------------------------------------------------------------------------------
|
||||
check_exe() {
|
||||
if [ -x "`which $1 2> /dev/null`" ]; then
|
||||
echo "Executable $1 found...";
|
||||
return 0;
|
||||
else
|
||||
echo "Executable $1 not found...";
|
||||
return 1;
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check to see if this script is being run as root
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ `whoami` != "root" ]; then
|
||||
echo "Please run this script as root.";
|
||||
exit ;
|
||||
fi
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check for required tools
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Checking for required tools..."
|
||||
|
||||
check_exe "sed" || exit 1;
|
||||
check_exe "psql" || exit 1;
|
||||
check_exe "php" || exit 1;
|
||||
check_exe "pear" || exit 1;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check for the apache group to be a real group
|
||||
#-------------------------------------------------------------------------------
|
||||
group_tmp_file=/tmp/ls_group_check.$$
|
||||
touch $group_tmp_file
|
||||
test_result=`chgrp $apache_group $group_tmp_file 2> /dev/null`
|
||||
if [ $? != 0 ]; then
|
||||
rm -f $group_tmp_file;
|
||||
echo "Unable to use apache deamon group $apache_group.";
|
||||
echo "Please check if $apache_group is a correct user group.";
|
||||
exit 1;
|
||||
fi
|
||||
rm -f $group_tmp_file;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Install the new pg_hba.conf file
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Modifying postgresql access permissions...";
|
||||
|
||||
pg_config_dir=$postgresql_dir
|
||||
pg_config_file=pg_hba.conf
|
||||
pg_config_file_saved=pg_hba.conf.before-campcaster
|
||||
|
||||
if [ -f $pg_config_dir/$pg_config_file ] ; then
|
||||
mv -vf $pg_config_dir/$pg_config_file $pg_config_dir/$pg_config_file_saved ;
|
||||
fi
|
||||
cp -v $etcdir/$pg_config_file $pg_config_dir/$pg_config_file
|
||||
chown root:$postgres_user $pg_config_dir/$pg_config_file
|
||||
|
||||
# don't use restart for the init script, as it might return prematurely
|
||||
# and in the later call to psql we wouldn't be able to connect
|
||||
${postgresql_init_script} stop
|
||||
${postgresql_init_script} start
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Configuring Apache
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Configuring apache ..."
|
||||
CONFFILE=90_php_campcaster.conf
|
||||
AP_DDIR_FOUND=no
|
||||
for APACHE_DDIR in \
|
||||
/etc/apache/conf.d /etc/apache2/conf.d /etc/apache2/conf/modules.d \
|
||||
/etc/httpd/conf.d /etc/apache2/modules.d
|
||||
do
|
||||
echo -n "$APACHE_DDIR "
|
||||
if [ -d $APACHE_DDIR ]; then
|
||||
echo "Y"
|
||||
AP_DDIR_FOUND=yes
|
||||
cp -v $basedir/etc/apache/$CONFFILE $APACHE_DDIR
|
||||
break
|
||||
else
|
||||
echo "N"
|
||||
fi
|
||||
done
|
||||
if [ "$AP_DDIR_FOUND" != "yes" ]; then
|
||||
echo "###############################"
|
||||
echo " Could not configure Apache"
|
||||
echo " include following file into apache config manually:"
|
||||
echo " $basedir/etc/apache/$CONFFILE"
|
||||
echo "###############################"
|
||||
else
|
||||
echo "done"
|
||||
echo "Restarting apache...";
|
||||
AP_SCR_FOUND=no
|
||||
for APACHE_SCRIPT in apache apache2 httpd ; do
|
||||
echo -n "$APACHE_SCRIPT "
|
||||
if [ -x /etc/init.d/$APACHE_SCRIPT ]; then
|
||||
echo "Y"
|
||||
AP_SCR_FOUND=yes
|
||||
/etc/init.d/$APACHE_SCRIPT restart
|
||||
else
|
||||
echo "N"
|
||||
fi
|
||||
done
|
||||
if [ "$AP_SCR_FOUND" != "yes" ]; then
|
||||
echo "###############################"
|
||||
echo " Could not reload Apache"
|
||||
echo " please reload apache manually"
|
||||
echo "###############################"
|
||||
fi
|
||||
echo "done"
|
||||
fi
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the necessary database user and database itself
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating database user '$ls_dbuser' and database '$ls_database' ...";
|
||||
|
||||
# FIXME: the below might not work for remote databases
|
||||
|
||||
if [ "x$ls_dbserver" == "xlocalhost" ]; then
|
||||
su - $postgres_user -c "echo \"CREATE USER $ls_dbuser \
|
||||
ENCRYPTED PASSWORD '$ls_dbpassword' \
|
||||
CREATEDB NOCREATEUSER;\" \
|
||||
| psql template1" \
|
||||
|| echo "Couldn't create database user $ls_dbuser.";
|
||||
|
||||
su - $postgres_user -c "echo \"CREATE DATABASE \\\"$ls_database\\\" \
|
||||
OWNER $ls_dbuser ENCODING 'utf-8';\" \
|
||||
| psql template1" \
|
||||
|| echo "Couldn't create database $ls_database.";
|
||||
else
|
||||
echo "Unable to automatically create database user and table for";
|
||||
echo "remote database $ls_dbserver.";
|
||||
echo "Make sure to create database user $ls_dbuser with password";
|
||||
echo "$ls_dbpassword on database server at $ls_dbserver.";
|
||||
echo "Also create a database called $ls_database, owned by this user.";
|
||||
echo "";
|
||||
echo "The easiest way to achieve this is by issuing the following SQL";
|
||||
echo "commands to PostgreSQL:";
|
||||
echo "CREATE USER $ls_dbuser";
|
||||
echo " ENCRYPTED PASSWORD '$ls_dbpassword'";
|
||||
echo " CREATEDB NOCREATEUSER;";
|
||||
echo "CREATE DATABASE \"$ls_database\"";
|
||||
echo " OWNER $ls_dbuser ENCODING 'utf-8';";
|
||||
fi
|
||||
|
||||
|
||||
# TODO: check for the success of these operations somehow
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Configuring modules
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Configuring modules ...";
|
||||
|
||||
cd $modules_dir/alib && ./configure --prefix=$installdir
|
||||
cd $modules_dir/archiveServer && \
|
||||
./configure --prefix=$installdir \
|
||||
--with-hostname=$hostname \
|
||||
--with-www-port=$www_port \
|
||||
--with-database-server=$dbserver \
|
||||
--with-database=$database \
|
||||
--with-database-user=$dbuser \
|
||||
--with-database-password=$dbpassword
|
||||
cd $modules_dir/getid3 && ./configure --prefix=$installdir
|
||||
#cd $modules_dir/htmlUI && ./configure --prefix=$installdir \
|
||||
# --with-apache-group=$apache_group \
|
||||
# --with-www-docroot=$www_root \
|
||||
# --with-storage-server=$installdir/var/Campcaster/storageServer
|
||||
cd $modules_dir/storageAdmin && ./configure --prefix=$installdir \
|
||||
--with-storage-server=$installdir/var/Campcaster/storageServer \
|
||||
--with-phppart-dir=$installdir/var/Campcaster/storageAdmin
|
||||
cd $modules_dir/storageServer && \
|
||||
./configure --prefix=$installdir \
|
||||
--with-apache-group=$apache_group \
|
||||
--with-hostname=$hostname \
|
||||
--with-www-docroot=$www_root \
|
||||
--with-www-port=$www_port \
|
||||
--with-database-server=$dbserver \
|
||||
--with-database=$database \
|
||||
--with-database-user=$dbuser \
|
||||
--with-database-password=$dbpassword \
|
||||
--with-init-database=no
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Install
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Installing modules ...";
|
||||
|
||||
make -C $modules_dir/alib install
|
||||
make -C $modules_dir/getid3 install
|
||||
make -C $modules_dir/storageServer install
|
||||
make -C $modules_dir/storageAdmin install
|
||||
make -C $modules_dir/archiveServer install
|
||||
|
||||
mkdir -p $install_var_ls/storageServer/var/tests
|
||||
for it in ex1.mp3 ex2.wav; do
|
||||
cp $modules_dir/storageServer/var/tests/$it \
|
||||
$install_var_ls/storageServer/var/tests
|
||||
done
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create symlinks
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating symlinks...";
|
||||
|
||||
# create symlink for the PHP pages in apache's document root
|
||||
rm -f $www_root/campcaster
|
||||
ln -vs $install_var_ls $www_root/campcaster
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Install PEAR packages (locally in the Campcaster)
|
||||
# only if necessary
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ -f $toolsdir/pear/bin/install.sh ]; then
|
||||
$toolsdir/pear/bin/install.sh -d $installdir || exit 1;
|
||||
fi
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Setup directory permissions
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Setting up directory permissions..."
|
||||
|
||||
chgrp $apache_group $install_var_ls/archiveServer/var/stor
|
||||
chgrp $apache_group $install_var_ls/archiveServer/var/access
|
||||
chgrp $apache_group $install_var_ls/archiveServer/var/trans
|
||||
chgrp $apache_group $install_var_ls/archiveServer/var/stor/buffer
|
||||
|
||||
chmod g+sw $install_var_ls/archiveServer/var/stor
|
||||
chmod g+sw $install_var_ls/archiveServer/var/access
|
||||
chmod g+sw $install_var_ls/archiveServer/var/trans
|
||||
chmod g+sw $install_var_ls/archiveServer/var/stor/buffer
|
||||
|
||||
#chgrp $apache_group $install_var_ls/storageServer/var/stor
|
||||
#chgrp $apache_group $install_var_ls/storageServer/var/access
|
||||
#chgrp $apache_group $install_var_ls/storageServer/var/trans
|
||||
#chgrp $apache_group $install_var_ls/storageServer/var/stor/buffer
|
||||
|
||||
#chmod g+sw $install_var_ls/storageServer/var/stor
|
||||
#chmod g+sw $install_var_ls/storageServer/var/access
|
||||
#chmod g+sw $install_var_ls/storageServer/var/trans
|
||||
#chmod g+sw $install_var_ls/storageServer/var/stor/buffer
|
||||
|
||||
#chgrp $apache_group $install_var_ls/htmlUI/var/templates_c
|
||||
#chgrp $apache_group $install_var_ls/htmlUI/var/html/img
|
||||
|
||||
#chmod g+sw $install_var_ls/htmlUI/var/templates_c
|
||||
#chmod g+sw $install_var_ls/htmlUI/var/html/img
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Initialize the database
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Initializing database...";
|
||||
|
||||
# create PHP-related database tables
|
||||
cd $install_var_ls/archiveServer/var/install
|
||||
php -q install.php || exit 1;
|
||||
cd -
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Say goodbye
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Done."
|
||||
|
||||
|
||||
exit
|
||||
|
|
@ -1,95 +0,0 @@
|
|||
#!/bin/sh
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Run this to set up the build system: configure, makefiles, etc.
|
||||
# (based on the version in enlightenment's cvs)
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
package="Campcaster"
|
||||
|
||||
# assume we're in $basedir/bin
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
test -z "$basedir" && basedir=.
|
||||
|
||||
bindir=$basedir/bin
|
||||
etcdir=$basedir/etc
|
||||
tmpdir=$basedir/tmp
|
||||
|
||||
cd "$tmpdir"
|
||||
DIE=0
|
||||
|
||||
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
|
||||
echo
|
||||
echo "You must have autoconf installed to compile $package."
|
||||
echo "Download the appropriate package for your distribution,"
|
||||
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
|
||||
DIE=1
|
||||
}
|
||||
|
||||
(automake --version) < /dev/null > /dev/null 2>&1 || {
|
||||
echo
|
||||
echo "You must have automake installed to compile $package."
|
||||
echo "Download the appropriate package for your distribution,"
|
||||
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
|
||||
DIE=1
|
||||
}
|
||||
|
||||
if test "$DIE" -eq 1; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -z "$*"; then
|
||||
echo "I am going to run ./configure with no arguments - if you wish "
|
||||
echo "to pass any to it, please specify them on the $0 command line."
|
||||
fi
|
||||
|
||||
echo "Generating configuration files for $package, please wait...."
|
||||
|
||||
configure_ac=${etcdir}/configure.ac
|
||||
configure=${tmpdir}/configure
|
||||
aclocal_m4=${tmpdir}/aclocal.m4
|
||||
|
||||
# copy over install-sh, as it's going to be missed by autoconf
|
||||
cp -f ${bindir}/install-sh ${tmpdir}
|
||||
|
||||
# copy over configure.ac and acinlclude.m4 from etc to tmp,
|
||||
# as aclocal >= 1.8 is sooo unbelivably stupid that it will simply try to
|
||||
# look for configure.ac in the current directory, and include acinclude.m4
|
||||
# in aclocal.m4 it without a directory path in front
|
||||
ACLOCAL_FLAGS="-I ${tmpdir} --acdir=${tmpdir} --output=${aclocal_m4}"
|
||||
echo " aclocal $ACLOCAL_FLAGS"
|
||||
cp -f ${configure_ac} ${tmpdir}
|
||||
cp -f ${etcdir}/acinclude.m4 ${tmpdir}
|
||||
aclocal $ACLOCAL_FLAGS
|
||||
|
||||
echo " autoconf -I ${tmpdir} -o ${configure} ${configure_ac}"
|
||||
autoconf -I ${tmpdir} -o ${configure} ${configure_ac}
|
||||
|
||||
|
|
@ -1,231 +0,0 @@
|
|||
#!/bin/bash
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author: fgerlits $
|
||||
# Version : $Revision: 2292 $
|
||||
# Location : $URL: svn+ssh://tomash@code.campware.org/home/svn/repo/livesupport/trunk/livesupport/bin/postInstallStation.sh $
|
||||
#-------------------------------------------------------------------------------
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script creates a distribution tarball for Campcaster network hub.
|
||||
# (campcaster-aserver-<version>.tar.bz2)
|
||||
#
|
||||
# Invoke as:
|
||||
# ./bin/makeArchiveServerTar.sh -v <version.number>
|
||||
#
|
||||
# To get usage help, try the -h option
|
||||
#
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
#reldir=`dirname $0`/..
|
||||
reldir=`pwd`
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
etcdir=$basedir/etc
|
||||
docdir=$basedir/doc
|
||||
srcdir=$basedir/src
|
||||
tmpdir=$basedir/tmp
|
||||
toolsdir=$srcdir/tools
|
||||
modules_dir=$srcdir/modules
|
||||
products_dir=$srcdir/products
|
||||
|
||||
usrdir=`cd $basedir/usr; pwd;`
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Print the usage information for this script.
|
||||
#-------------------------------------------------------------------------------
|
||||
printUsage()
|
||||
{
|
||||
echo "Campcaster network hub tar package creator.";
|
||||
echo "parameters";
|
||||
echo "";
|
||||
echo " -d, --directory Place the tarball in the specified directory.";
|
||||
echo " [default: current directory]";
|
||||
echo " -v, --version The version number of the created package.";
|
||||
echo " -h, --help Print this message and exit.";
|
||||
echo "";
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Process command line parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CMD=${0##*/}
|
||||
|
||||
opts=$(getopt -o d:v:h -l lspath:,output:,version:,help -n $CMD -- "$@") || exit 1
|
||||
eval set -- "$opts"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-d|--directory)
|
||||
directory=$2;
|
||||
shift; shift;;
|
||||
-v|--version)
|
||||
version=$2;
|
||||
shift; shift;;
|
||||
-h|--help)
|
||||
printUsage;
|
||||
exit 0;;
|
||||
--)
|
||||
shift;
|
||||
break;;
|
||||
*)
|
||||
echo "Unrecognized option $1.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "x$directory" == "x" ]; then
|
||||
directory=`pwd`;
|
||||
fi
|
||||
|
||||
if [ "x$version" == "x" ]; then
|
||||
echo "Required parameter version not specified.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
echo "Creating Campcaster network hub tar.gz package.";
|
||||
echo "";
|
||||
echo "Using the following installation parameters:";
|
||||
echo "";
|
||||
echo " LS directory: $lspath";
|
||||
echo " output directory: $directory";
|
||||
echo ""
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check if there are generated files, and bail out if so
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ -f $basedir/Makefile ]; then
|
||||
echo "ERROR: make sure to run this script on a freshly checked-out copy";
|
||||
echo " of Campcaster, with NO generated files!";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# More definitions
|
||||
#-------------------------------------------------------------------------------
|
||||
tarball=$directory/campcaster-aserver-$version.tar.bz2
|
||||
|
||||
ls_tmpdir=$tmpdir/campcaster-$version
|
||||
src_tmpdir=$ls_tmpdir/src
|
||||
tools_tmpdir=$src_tmpdir/tools
|
||||
modules_tmpdir=$src_tmpdir/modules
|
||||
products_tmpdir=$src_tmpdir/products
|
||||
bin_tmpdir=$ls_tmpdir/bin
|
||||
doc_tmpdir=$ls_tmpdir/doc
|
||||
etc_tmpdir=$ls_tmpdir/etc
|
||||
tmp_tmpdir=$ls_tmpdir/tmp
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Function to check for the existence of an executable on the PATH
|
||||
#
|
||||
# @param $1 the name of the exectuable
|
||||
# @return 0 if the executable exists on the PATH, non-0 otherwise
|
||||
#-------------------------------------------------------------------------------
|
||||
check_exe() {
|
||||
if [ -x "`which $1 2> /dev/null`" ]; then
|
||||
#echo "Executable $1 found...";
|
||||
return 0;
|
||||
else
|
||||
echo "Executable $1 not found...";
|
||||
return 1;
|
||||
fi
|
||||
}
|
||||
|
||||
COMMENT='
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check to see if this script is being run as root
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ `whoami` != "root" ]; then
|
||||
echo "Please run this script as root.";
|
||||
exit ;
|
||||
fi
|
||||
'
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check for required tools
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Checking for required tools..."
|
||||
|
||||
check_exe "tar" || exit 1;
|
||||
check_exe "bzip2" || exit 1;
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the directories again
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating tmp directories and copying files ..."
|
||||
|
||||
mkdir -p $ls_tmpdir
|
||||
mkdir -p $src_tmpdir
|
||||
mkdir -p $modules_tmpdir
|
||||
mkdir -p $tools_tmpdir
|
||||
mkdir -p $bin_tmpdir
|
||||
mkdir -p $etc_tmpdir/apache
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copy the modules and tools
|
||||
#-------------------------------------------------------------------------------
|
||||
#cp -pPR $modules_dir/* $modules_tmpdir
|
||||
for it in alib getid3 storageServer storageAdmin archiveServer; do
|
||||
cp -pPR $modules_dir/$it $modules_tmpdir
|
||||
done
|
||||
for it in pear; do
|
||||
cp -pPR $toolsdir/$it $tools_tmpdir
|
||||
done
|
||||
for it in preInstall.sh archiveServerSetup.sh; do
|
||||
cp -pPR $bindir/$it $bin_tmpdir
|
||||
done
|
||||
cp -pPR $etcdir/apache/* $etc_tmpdir/apache
|
||||
for it in pg_hba.conf; do
|
||||
cp -pPR $etcdir/$it $etc_tmpdir
|
||||
done
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copy additional files
|
||||
#-------------------------------------------------------------------------------
|
||||
#cp -pPR $bindir $ls_tmpdir
|
||||
#cp -pPR $etcdir $ls_tmpdir
|
||||
cp -pPR README INSTALL configure $ls_tmpdir
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Get rid of the remnants of the subversion system
|
||||
#-------------------------------------------------------------------------------
|
||||
# Paul Baranowski: you dont need to do this when you export from SVN.
|
||||
#rm -rf `find $ls_tmpdir -name .svn -type d`
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the tarball
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating $tarball ...";
|
||||
cd $tmpdir
|
||||
tar cjf $tarball campcaster-$version
|
||||
cd $basedir
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Say goodbye
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Done."
|
||||
|
|
@ -1,258 +0,0 @@
|
|||
#!/bin/sh
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#-------------------------------------------------------------------------------
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script creates Debian packages from Campcaster tarballs.
|
||||
# To create the tarballs first, see the dist.sh script.
|
||||
#
|
||||
# Invoke as:
|
||||
# ./bin/createDebianPackages.sh
|
||||
#
|
||||
# To get usage help, try the -h option
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
etcdir=$basedir/etc
|
||||
docdir=$basedir/doc
|
||||
tmpdir=$basedir/tmp
|
||||
|
||||
usrdir=`cd $basedir/usr; pwd;`
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Print the usage information for this script.
|
||||
#-------------------------------------------------------------------------------
|
||||
printUsage()
|
||||
{
|
||||
echo "Campcaster debian source package creation script";
|
||||
echo "parameters";
|
||||
echo "";
|
||||
echo " -d, --directory Place to look for the campcaster source";
|
||||
echo " tarballs [default: current directory]";
|
||||
echo " -m, --maintainer The name and e-mail address of the package";
|
||||
echo " maintainer.";
|
||||
echo " -o, --output-directory the output directory for the files";
|
||||
echo " [default: current directory]";
|
||||
echo " -v, --version The version number of the created packages.";
|
||||
echo " From package_x.y-z_i386.deb, this is x.y";
|
||||
echo " -h, --help Print this message and exit.";
|
||||
echo "";
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Process command line parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CMD=${0##*/}
|
||||
|
||||
opts=$(getopt -o d:hm:o:v: -l directory:,help,maintainer:,output-directory,version: -n $CMD -- "$@") || exit 1
|
||||
eval set -- "$opts"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-d|--directory)
|
||||
directory=$2;
|
||||
shift; shift;;
|
||||
-h|--help)
|
||||
printUsage;
|
||||
exit 0;;
|
||||
-m|--maintainer)
|
||||
maintainer=$2;
|
||||
shift; shift;;
|
||||
-o|--output-directory)
|
||||
outdir=$2;
|
||||
shift; shift;;
|
||||
-v|--version)
|
||||
version=$2;
|
||||
shift; shift;;
|
||||
--)
|
||||
shift;
|
||||
break;;
|
||||
*)
|
||||
echo "Unrecognized option $1.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "x$maintainer" == "x" ]; then
|
||||
echo "Required parameter maintainer not specified.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ "x$version" == "x" ]; then
|
||||
echo "Required parameter version not specified.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ "x$directory" == "x" ]; then
|
||||
directory=`pwd`;
|
||||
else
|
||||
directory=`cd $directory; pwd;`
|
||||
fi
|
||||
|
||||
if [ "x$outdir" == "x" ]; then
|
||||
outdir=`pwd`;
|
||||
else
|
||||
outdir=`cd $outdir; pwd;`
|
||||
fi
|
||||
|
||||
|
||||
echo "Creating Debian source packages for Campcaster.";
|
||||
echo "";
|
||||
echo "Using the following parameters:";
|
||||
echo "";
|
||||
echo " tarball directory: $directory";
|
||||
echo " maintainer: $maintainer";
|
||||
echo " package version: $version";
|
||||
echo " output directory: $outdir";
|
||||
echo ""
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Function to check for the existence of an executable on the PATH
|
||||
#
|
||||
# @param $1 the name of the exectuable
|
||||
# @return 0 if the executable exists on the PATH, non-0 otherwise
|
||||
#-------------------------------------------------------------------------------
|
||||
check_exe() {
|
||||
if [ -x "`which $1 2> /dev/null`" ]; then
|
||||
echo "Executable $1 found...";
|
||||
return 0;
|
||||
else
|
||||
echo "Executable $1 not found...";
|
||||
return 1;
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check for executables needed by this script
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Checking for tools used by this script...";
|
||||
check_exe "tar" || exit 1;
|
||||
check_exe "dpkg-source" || exit 1;
|
||||
check_exe "sed" || exit 1;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# More definitions
|
||||
#-------------------------------------------------------------------------------
|
||||
tarball=$directory/campcaster-$version.tar.bz2
|
||||
tarball_libs=$directory/campcaster-libraries-$version.tar.bz2
|
||||
|
||||
if [ ! -f $tarball ]; then
|
||||
echo "source tarball $tarball not found in directory $directory";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ ! -f $tarball_libs ]; then
|
||||
echo "source tarball $tarball_libs not found in directory $directory";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
|
||||
packageName=campcaster-$version
|
||||
packageNameOrig=$packageName.orig
|
||||
workdir=$tmpdir/debianize
|
||||
|
||||
replace_sed_string="s/ls_maintainer/$maintainer/;"
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the environment
|
||||
#-------------------------------------------------------------------------------
|
||||
rm -rf $workdir
|
||||
mkdir -p $workdir
|
||||
cd $workdir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Untar the source tarballs
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Extracting source tarballs...";
|
||||
|
||||
# untar first, and rename as campcaster-$version.orig
|
||||
tar xfj $tarball
|
||||
tar xfj $tarball_libs
|
||||
mv $packageName $packageNameOrig
|
||||
|
||||
# untar again, and leave it as campcaster-$version
|
||||
tar xfj $tarball
|
||||
tar xfj $tarball_libs
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Debianize the campcaster-$version sources
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Debianizing sources...";
|
||||
|
||||
cp -pPR $etcdir/debian $packageName
|
||||
|
||||
# customize the control file, with the maintainer name
|
||||
cat $etcdir/debian/control | sed -e "$replace_sed_string" \
|
||||
> $packageName/debian/control
|
||||
|
||||
# get rid of the remnants of the CVS system
|
||||
rm -rf `find $packageName -name CVS -type d`
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create a debianized source package.
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating debian source package...";
|
||||
|
||||
dpkg-source -b $packageName $packageNameOrig
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copy the resulting files to the target directory
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Moving debian source package files to target directory...";
|
||||
|
||||
mv -f campcaster_$version* $outdir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Clean up
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Cleaning up...";
|
||||
|
||||
cd $basedir
|
||||
rm -rf $workdir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Say goodbye
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Done."
|
||||
|
|
@ -1,339 +0,0 @@
|
|||
#!/bin/sh
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#-------------------------------------------------------------------------------
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script creates a distribution tarball for Campcaster.
|
||||
# Creates two tarballs:
|
||||
# campcaster-<version>.tar.bz2 - the Campcaster source files
|
||||
# campcaster-libraries-<version>.tar.bz2 - dependent libraries
|
||||
#
|
||||
# Invoke as:
|
||||
# ./bin/dist.sh -v <version.number>
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
etcdir=$basedir/etc
|
||||
docdir=$basedir/doc
|
||||
srcdir=$basedir/src
|
||||
tmpdir=$basedir/tmp
|
||||
toolsdir=$srcdir/tools
|
||||
modules_dir=$srcdir/modules
|
||||
products_dir=$srcdir/products
|
||||
|
||||
usrdir=`cd $basedir/usr; pwd;`
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Print the usage information for this script.
|
||||
#-------------------------------------------------------------------------------
|
||||
printUsage()
|
||||
{
|
||||
echo "Campcaster install script.";
|
||||
echo "parameters";
|
||||
echo "";
|
||||
echo " -d, --directory Place the tarballs in the specified directory.";
|
||||
echo " [default: current directory]";
|
||||
echo " -h, --help Print this message and exit.";
|
||||
echo " -v, --version The version number of the created packages.";
|
||||
echo "";
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Process command line parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CMD=${0##*/}
|
||||
|
||||
opts=$(getopt -o d:hv: -l directory:,help,version: -n $CMD -- "$@") || exit 1
|
||||
eval set -- "$opts"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-d|--directory)
|
||||
directory=$2;
|
||||
shift; shift;;
|
||||
-h|--help)
|
||||
printUsage;
|
||||
exit 0;;
|
||||
-v|--version)
|
||||
version=$2;
|
||||
shift; shift;;
|
||||
--)
|
||||
shift;
|
||||
break;;
|
||||
*)
|
||||
echo "Unrecognized option $1.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "x$version" == "x" ]; then
|
||||
echo "Required parameter version not specified.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ "x$directory" == "x" ]; then
|
||||
directory=`pwd`;
|
||||
fi
|
||||
|
||||
d=`cd $directory; pwd`
|
||||
directory=$d
|
||||
|
||||
|
||||
echo "Creating tarballs for Campcaster.";
|
||||
echo "";
|
||||
echo "Using the following parameters:";
|
||||
echo "";
|
||||
echo " output directory: $directory";
|
||||
echo " package version number: $version";
|
||||
echo ""
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check if there are generated files, and bail out if so
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ -f $basedir/Makefile ]; then
|
||||
echo "ERROR: make sure to run this script on a freshly checked-out copy";
|
||||
echo " of Campcaster, with NO generated files!";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# More definitions
|
||||
#-------------------------------------------------------------------------------
|
||||
tarball=$directory/campcaster-$version.tar.bz2
|
||||
tarball_libs=$directory/campcaster-libraries-$version.tar.bz2
|
||||
|
||||
ls_tmpdir=$tmpdir/campcaster-$version
|
||||
src_tmpdir=$ls_tmpdir/src
|
||||
tools_tmpdir=$src_tmpdir/tools
|
||||
modules_tmpdir=$src_tmpdir/modules
|
||||
products_tmpdir=$src_tmpdir/products
|
||||
doc_tmpdir=$ls_tmpdir/doc
|
||||
etc_tmpdir=$ls_tmpdir/etc
|
||||
tmp_tmpdir=$ls_tmpdir/tmp
|
||||
|
||||
boost_dir=$toolsdir/boost
|
||||
boost_version=boost-1.33.1
|
||||
boost_tmpdir=$tools_tmpdir/boost
|
||||
|
||||
libxmlxx_dir=$toolsdir/libxml++
|
||||
libxmlxx_version=libxml++-2.8.1
|
||||
libxmlxx_tmpdir=$tools_tmpdir/libxml++
|
||||
|
||||
cxxunit_dir=$toolsdir/cppunit
|
||||
cxxunit_version=cppunit-1.10.2
|
||||
cxxunit_tmpdir=$tools_tmpdir/cppunit
|
||||
|
||||
libodbcxx_dir=$toolsdir/libodbc++
|
||||
libodbcxx_version=libodbc++-0.2.3-20050404
|
||||
libodbcxx_tmpdir=$tools_tmpdir/libodbc++
|
||||
|
||||
xmlrpcxx_dir=$toolsdir/xmlrpc++
|
||||
xmlrpcxx_version=xmlrpc++-20040713
|
||||
xmlrpcxx_tmpdir=$tools_tmpdir/xmlrpc++
|
||||
|
||||
lcov_dir=$toolsdir/lcov
|
||||
lcov_version=lcov-1.3
|
||||
lcov_tmpdir=$tools_tmpdir/lcov
|
||||
|
||||
gtk_dir=$toolsdir/gtk+
|
||||
gtk_version=gtk+-2.6.10
|
||||
gtk_tmpdir=$tools_tmpdir/gtk+
|
||||
|
||||
gtkmm_dir=$toolsdir/gtkmm
|
||||
gtkmm_version=gtkmm-2.6.5
|
||||
gtkmm_tmpdir=$tools_tmpdir/gtkmm
|
||||
|
||||
gstreamer_dir=$toolsdir/gstreamer
|
||||
gstreamer_version=gstreamer-0.8.12
|
||||
gstreamer_tmpdir=$tools_tmpdir/gstreamer
|
||||
|
||||
icu_dir=$toolsdir/icu
|
||||
icu_version=icu-3.0
|
||||
icu_tmpdir=$tools_tmpdir/icu
|
||||
|
||||
curl_dir=$toolsdir/curl
|
||||
curl_version=curl-7.12.3
|
||||
curl_tmpdir=$tools_tmpdir/curl
|
||||
|
||||
taglib_dir=$toolsdir/taglib
|
||||
taglib_version=taglib-1.4
|
||||
taglib_tmpdir=$tools_tmpdir/taglib
|
||||
|
||||
pear_dir=$toolsdir/pear
|
||||
pear_tmpdir=$tools_tmpdir/pear
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the sources tarball first
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating $tarball...";
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the directories again
|
||||
#-------------------------------------------------------------------------------
|
||||
mkdir -p $ls_tmpdir
|
||||
mkdir -p $ls_tmpdir/usr
|
||||
mkdir -p $tmp_tmpdir
|
||||
mkdir -p $src_tmpdir
|
||||
mkdir -p $modules_tmpdir
|
||||
mkdir -p $products_tmpdir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copy the modules and products
|
||||
#-------------------------------------------------------------------------------
|
||||
cp -pPR $modules_dir/* $modules_tmpdir
|
||||
cp -pPR $products_dir/* $products_tmpdir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copy additional files
|
||||
#-------------------------------------------------------------------------------
|
||||
cp -pPR $bindir $ls_tmpdir
|
||||
cp -pPR $docdir $ls_tmpdir
|
||||
cp -pPR $etcdir $ls_tmpdir
|
||||
cp -pPR README INSTALL configure $ls_tmpdir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Get rid of the remnants of the subversion system
|
||||
#-------------------------------------------------------------------------------
|
||||
rm -rf `find $ls_tmpdir -name .svn -type d`
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the main configure script
|
||||
#-------------------------------------------------------------------------------
|
||||
cd $tmpdir/campcaster-$version
|
||||
./bin/autogen.sh
|
||||
cd $basedir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the tarball
|
||||
#-------------------------------------------------------------------------------
|
||||
cd $tmpdir
|
||||
tar cfj $tarball campcaster-$version
|
||||
cd $basedir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the libraries tarball second
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating $tarball_libs...";
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create temprorary directory structure again
|
||||
#-------------------------------------------------------------------------------
|
||||
rm -rf $ls_tmpdir
|
||||
mkdir -p $ls_tmpdir
|
||||
mkdir -p $tools_tmpdir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copy needed files to the temporary directory
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copy the tools sources
|
||||
#-------------------------------------------------------------------------------
|
||||
mkdir -p $boost_tmpdir
|
||||
cp -pPR $boost_dir/$boost_version $boost_tmpdir
|
||||
|
||||
mkdir -p $libxmlxx_tmpdir
|
||||
cp -pPR $libxmlxx_dir/$libxmlxx_version $libxmlxx_tmpdir
|
||||
|
||||
mkdir -p $cxxunit_tmpdir
|
||||
cp -pPR $cxxunit_dir/$cxxunit_version $cxxunit_tmpdir
|
||||
|
||||
mkdir -p $libodbcxx_tmpdir
|
||||
cp -pPR $libodbcxx_dir/$libodbcxx_version $libodbcxx_tmpdir
|
||||
|
||||
mkdir -p $xmlrpcxx_tmpdir
|
||||
cp -pPR $xmlrpcxx_dir/$xmlrpcxx_version $xmlrpcxx_tmpdir
|
||||
|
||||
mkdir -p $lcov_tmpdir
|
||||
cp -pPR $lcov_dir/$lcov_version $lcov_tmpdir
|
||||
|
||||
mkdir -p $gtk_tmpdir
|
||||
cp -pPR $gtk_dir/$gtk_version $gtk_tmpdir
|
||||
|
||||
mkdir -p $gtkmm_tmpdir
|
||||
cp -pPR $gtkmm_dir/$gtkmm_version $gtkmm_tmpdir
|
||||
|
||||
mkdir -p $gstreamer_tmpdir
|
||||
cp -pPR $gstreamer_dir/$gstreamer_version $gstreamer_tmpdir
|
||||
|
||||
mkdir -p $icu_tmpdir
|
||||
cp -pPR $icu_dir/$icu_version $icu_tmpdir
|
||||
|
||||
mkdir -p $curl_tmpdir
|
||||
cp -pPR $curl_dir/$curl_version $curl_tmpdir
|
||||
|
||||
mkdir -p $taglib_tmpdir
|
||||
cp -pPR $taglib_dir/$taglib_version $taglib_tmpdir
|
||||
|
||||
mkdir -p $pear_tmpdir
|
||||
cp -pPR $pear_dir/* $pear_tmpdir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Get rid of the remnants of the subversion system
|
||||
#-------------------------------------------------------------------------------
|
||||
rm -rf `find $ls_tmpdir -name .svn -type d`
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the libraries tarball
|
||||
#-------------------------------------------------------------------------------
|
||||
cd $tmpdir
|
||||
tar cfj $tarball_libs campcaster-$version
|
||||
cd $basedir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Clean up
|
||||
#-------------------------------------------------------------------------------
|
||||
rm -rf $ls_tmpdir
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# We're done
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Done."
|
||||
|
|
@ -1,92 +0,0 @@
|
|||
#!/bin/sh
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#-------------------------------------------------------------------------------
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script generates code coverage data for all modules
|
||||
#-------------------------------------------------------------------------------
|
||||
module="Campcaster"
|
||||
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
docdir=$basedir/doc
|
||||
srcdir=$basedir/src
|
||||
tmpdir=$basedir/tmp
|
||||
modules_dir=$srcdir/modules
|
||||
products_dir=$srcdir/products
|
||||
|
||||
usrdir=`cd $basedir/usr; pwd;`
|
||||
|
||||
coverage_report_dir=$docdir/coverage
|
||||
|
||||
core_coverage_file=$modules_dir/core/tmp/coverage.info
|
||||
authentication_coverage_file=$modules_dir/authentication/tmp/coverage.info
|
||||
db_coverage_file=$modules_dir/db/tmp/coverage.info
|
||||
storageClient_coverage_file=$modules_dir/storageClient/tmp/coverage.info
|
||||
eventScheduler_coverage_file=$modules_dir/eventScheduler/tmp/coverage.info
|
||||
schedulerClient_coverage_file=$modules_dir/schedulerClient/tmp/coverage.info
|
||||
playlistExecutor_coverage_file=$modules_dir/playlistExecutor/tmp/coverage.info
|
||||
scheduler_coverage_file=$products_dir/scheduler/tmp/coverage.info
|
||||
|
||||
coverage_file=$tmpdir/coverage.info
|
||||
|
||||
lcov=$usrdir/bin/lcov
|
||||
genhtml=$usrdir/bin/genhtml
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Execute the coverage tests one by one
|
||||
#-------------------------------------------------------------------------------
|
||||
$modules_dir/core/bin/gen_coverage_data.sh
|
||||
$modules_dir/authentication/bin/gen_coverage_data.sh
|
||||
$modules_dir/db/bin/gen_coverage_data.sh
|
||||
$modules_dir/storageClient/bin/gen_coverage_data.sh
|
||||
$modules_dir/eventScheduler/bin/gen_coverage_data.sh
|
||||
$modules_dir/schedulerClient/bin/gen_coverage_data.sh
|
||||
$modules_dir/playlistExecutor/bin/gen_coverage_data.sh
|
||||
$products_dir/scheduler/bin/gen_coverage_data.sh
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Gather all the coverage information into one file
|
||||
# remove references to the tmp directories, and replace them with the module
|
||||
# directories themselves. this way the source files are found easlity by lcov
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "" > $coverage_file
|
||||
cat $core_coverage_file | sed -e "s/core\/tmp\//core\//g" >> $coverage_file
|
||||
cat $authentication_coverage_file | sed -e "s/authentication\/tmp\//authentication\//g" >> $coverage_file
|
||||
cat $db_coverage_file | sed -e "s/db\/tmp\//db\//g" >> $coverage_file
|
||||
cat $storageClient_coverage_file | sed -e "s/storageClient\/tmp\//storageClient\//g" >> $coverage_file
|
||||
cat $eventScheduler_coverage_file | sed -e "s/eventScheduler\/tmp\//eventScheduler\//g" >> $coverage_file
|
||||
cat $schedulerClient_coverage_file | sed -e "s/schedulerClient\/tmp\//schedulerClient\//g" >> $coverage_file
|
||||
cat $playlistExecutor_coverage_file | sed -e "s/playlistExecutor\/tmp\//playlistExecutor\//g" >> $coverage_file
|
||||
cat $scheduler_coverage_file | sed -e "s/scheduler\/tmp\//scheduler\//g" >> $coverage_file
|
||||
|
||||
rm -rf $coverage_report_dir
|
||||
mkdir -p $coverage_report_dir
|
||||
$genhtml -t "$module" -o $coverage_report_dir $coverage_file
|
||||
|
|
@ -1,323 +0,0 @@
|
|||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2005-02-02.21
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
# following copyright and license.
|
||||
#
|
||||
# Copyright (C) 1994 X Consortium
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Except as contained in this notice, the name of the X Consortium shall not
|
||||
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||
# ings in this Software without prior written authorization from the X Consor-
|
||||
# tium.
|
||||
#
|
||||
#
|
||||
# FSF changes to this file are in the public domain.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch. It can only install one file at a time, a restriction
|
||||
# shared with many OS's install programs.
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit="${DOITPROG-}"
|
||||
|
||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||
|
||||
mvprog="${MVPROG-mv}"
|
||||
cpprog="${CPPROG-cp}"
|
||||
chmodprog="${CHMODPROG-chmod}"
|
||||
chownprog="${CHOWNPROG-chown}"
|
||||
chgrpprog="${CHGRPPROG-chgrp}"
|
||||
stripprog="${STRIPPROG-strip}"
|
||||
rmprog="${RMPROG-rm}"
|
||||
mkdirprog="${MKDIRPROG-mkdir}"
|
||||
|
||||
chmodcmd="$chmodprog 0755"
|
||||
chowncmd=
|
||||
chgrpcmd=
|
||||
stripcmd=
|
||||
rmcmd="$rmprog -f"
|
||||
mvcmd="$mvprog"
|
||||
src=
|
||||
dst=
|
||||
dir_arg=
|
||||
dstarg=
|
||||
no_target_directory=
|
||||
|
||||
usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
||||
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
||||
or: $0 [OPTION]... -d DIRECTORIES...
|
||||
|
||||
In the 1st form, copy SRCFILE to DSTFILE.
|
||||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
||||
In the 4th, create DIRECTORIES.
|
||||
|
||||
Options:
|
||||
-c (ignored)
|
||||
-d create directories instead of installing files.
|
||||
-g GROUP $chgrpprog installed files to GROUP.
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-s $stripprog installed files.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
--help display this help and exit.
|
||||
--version display version info and exit.
|
||||
|
||||
Environment variables override the default commands:
|
||||
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
|
||||
"
|
||||
|
||||
while test -n "$1"; do
|
||||
case $1 in
|
||||
-c) shift
|
||||
continue;;
|
||||
|
||||
-d) dir_arg=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
--help) echo "$usage"; exit $?;;
|
||||
|
||||
-m) chmodcmd="$chmodprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd=$stripprog
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-t) dstarg=$2
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-T) no_target_directory=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
--version) echo "$0 $scriptversion"; exit $?;;
|
||||
|
||||
*) # When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
test -n "$dir_arg$dstarg" && break
|
||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||
for arg
|
||||
do
|
||||
if test -n "$dstarg"; then
|
||||
# $@ is not empty: it contains at least $arg.
|
||||
set fnord "$@" "$dstarg"
|
||||
shift # fnord
|
||||
fi
|
||||
shift # arg
|
||||
dstarg=$arg
|
||||
done
|
||||
break;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test -z "$1"; then
|
||||
if test -z "$dir_arg"; then
|
||||
echo "$0: no input file specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
# It's OK to call `install-sh -d' without argument.
|
||||
# This can happen when creating conditional directories.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
for src
|
||||
do
|
||||
# Protect names starting with `-'.
|
||||
case $src in
|
||||
-*) src=./$src ;;
|
||||
esac
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
dst=$src
|
||||
src=
|
||||
|
||||
if test -d "$dst"; then
|
||||
mkdircmd=:
|
||||
chmodcmd=
|
||||
else
|
||||
mkdircmd=$mkdirprog
|
||||
fi
|
||||
else
|
||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
if test ! -f "$src" && test ! -d "$src"; then
|
||||
echo "$0: $src does not exist." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -z "$dstarg"; then
|
||||
echo "$0: no destination specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dst=$dstarg
|
||||
# Protect names starting with `-'.
|
||||
case $dst in
|
||||
-*) dst=./$dst ;;
|
||||
esac
|
||||
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
if test -d "$dst"; then
|
||||
if test -n "$no_target_directory"; then
|
||||
echo "$0: $dstarg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dst=$dst/`basename "$src"`
|
||||
fi
|
||||
fi
|
||||
|
||||
# This sed command emulates the dirname command.
|
||||
dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
|
||||
|
||||
# Make sure that the destination directory exists.
|
||||
|
||||
# Skip lots of stat calls in the usual case.
|
||||
if test ! -d "$dstdir"; then
|
||||
defaultIFS='
|
||||
'
|
||||
IFS="${IFS-$defaultIFS}"
|
||||
|
||||
oIFS=$IFS
|
||||
# Some sh's can't handle IFS=/ for some reason.
|
||||
IFS='%'
|
||||
set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
shift
|
||||
IFS=$oIFS
|
||||
|
||||
pathcomp=
|
||||
|
||||
while test $# -ne 0 ; do
|
||||
pathcomp=$pathcomp$1
|
||||
shift
|
||||
if test ! -d "$pathcomp"; then
|
||||
$mkdirprog "$pathcomp"
|
||||
# mkdir can fail with a `File exist' error in case several
|
||||
# install-sh are creating the directory concurrently. This
|
||||
# is OK.
|
||||
test -d "$pathcomp" || exit
|
||||
fi
|
||||
pathcomp=$pathcomp/
|
||||
done
|
||||
fi
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
$doit $mkdircmd "$dst" \
|
||||
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
|
||||
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
|
||||
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
|
||||
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
|
||||
|
||||
else
|
||||
dstfile=`basename "$dst"`
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
trap '(exit $?); exit' 1 2 13 15
|
||||
|
||||
# Copy the file name to the temp name.
|
||||
$doit $cpprog "$src" "$dsttmp" &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits.
|
||||
#
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
||||
#
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
|
||||
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
|
||||
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
|
||||
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
{ $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
|
||||
|| {
|
||||
# The rename failed, perhaps because mv can't rename something else
|
||||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
if test -f "$dstdir/$dstfile"; then
|
||||
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
|
||||
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|
||||
|| {
|
||||
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
else
|
||||
:
|
||||
fi
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
|
||||
}
|
||||
}
|
||||
fi || { (exit 1); exit 1; }
|
||||
done
|
||||
|
||||
# The final little trick to "correctly" pass the exit status to the exit trap.
|
||||
{
|
||||
(exit 0); exit 0
|
||||
}
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
|
@ -1,57 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
#
|
||||
|
||||
CAMPCASTER_DIR=/opt/campcaster
|
||||
CAMPCASTER_BIN=$CAMPCASTER_DIR/bin
|
||||
CAMPCASTER_ETC=$CAMPCASTER_DIR/etc
|
||||
CAMPCASTER_LIB=$CAMPCASTER_DIR/lib
|
||||
GSTREAMER_DIR=`find $CAMPCASTER_LIB -type d -name "gstreamer-*"`
|
||||
|
||||
PATH=/sbin:/bin:/usr/sbin:/usr/bin:$CAMPCASTER_BIN
|
||||
LD_LIBRARY_PATH=$CAMPCASTER_LIB:$LD_LIBRARY_PATH
|
||||
DAEMON=$CAMPCASTER_BIN/scheduler
|
||||
NAME=campcaster-scheduler
|
||||
DESC="campcaster scheduler"
|
||||
|
||||
test -x $DAEMON || exit 0
|
||||
|
||||
export PATH
|
||||
export LD_LIBRARY_PATH
|
||||
|
||||
DAEMON_OPTS="-c $CAMPCASTER_ETC/scheduler.xml"
|
||||
|
||||
set -e
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting $DESC: "
|
||||
$DAEMON -c $CAMPCASTER_ETC/scheduler.xml start > /dev/null
|
||||
echo "$NAME."
|
||||
;;
|
||||
stop)
|
||||
echo -n "Stopping $DESC: "
|
||||
$DAEMON -c $CAMPCASTER_ETC/scheduler.xml stop > /dev/null
|
||||
echo "$NAME."
|
||||
;;
|
||||
restart|force-reload)
|
||||
echo -n "Restarting $DESC: "
|
||||
$DAEMON -c $CAMPCASTER_ETC/scheduler.xml stop > /dev/null
|
||||
sleep 1
|
||||
$DAEMON -c $CAMPCASTER_ETC/scheduler.xml start > /dev/null
|
||||
echo "$NAME."
|
||||
;;
|
||||
kill)
|
||||
echo -n "Killing $DESC: "
|
||||
$DAEMON -c $CAMPCASTER_ETC/scheduler.xml kill > /dev/null
|
||||
echo "$NAME."
|
||||
;;
|
||||
*)
|
||||
N=/etc/init.d/$NAME
|
||||
echo "Usage: $N {start|stop|restart|force-reload|kill}" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
|
@ -1,72 +0,0 @@
|
|||
#!/bin/sh
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script generates the nightly builds and logs.
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=${basedir}/bin
|
||||
tmpdir=${basedir}/tmp
|
||||
logdir=${basedir}/tmp
|
||||
|
||||
cd ${basedir}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Update the source from the repository.
|
||||
#-------------------------------------------------------------------------------
|
||||
mv -f ${logdir}/nightlySvnUpdate.log ${logdir}/nightlySvnUpdate.log~
|
||||
svn update &> ${logdir}/nightlySvnUpdate.log
|
||||
ls -l ${logdir}/nightlySvnUpdate.log >> ${logdir}/nightlySvnUpdate.log
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Recompile the code.
|
||||
#-------------------------------------------------------------------------------
|
||||
mv -f ${logdir}/nightlyMakeRecompile.log ${logdir}/nightlyMakeRecompile.log~
|
||||
make recompile &> ${logdir}/nightlyMakeRecompile.log
|
||||
ls -l ${logdir}/nightlyMakeRecompile.log >> ${logdir}/nightlyMakeRecompile.log
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Run the unit tests.
|
||||
#-------------------------------------------------------------------------------
|
||||
mv -f ${logdir}/nightlyMakeCheck.log ${logdir}/nightlyMakeCheck.log~
|
||||
make check &> ${logdir}/nightlyMakeCheck.log
|
||||
ls -l ${logdir}/nightlyMakeCheck.log >> ${logdir}/nightlyMakeCheck.log
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Generate the documentation.
|
||||
#-------------------------------------------------------------------------------
|
||||
mv -f ${logdir}/nightlyMakeDoc.log ${logdir}/nightlyMakeDoc.log~
|
||||
make doc &> ${logdir}/nightlyMakeDoc.log
|
||||
ls -l ${logdir}/nightlyMakeDoc.log >> ${logdir}/nightlyMakeDoc.log
|
||||
|
|
@ -1,470 +0,0 @@
|
|||
#!/bin/sh
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#-------------------------------------------------------------------------------
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script makes post-installation steps for the Campcaster Station.
|
||||
#
|
||||
# Invoke as:
|
||||
# ./bin/postInstallStation.sh
|
||||
#
|
||||
# To get usage help, try the -h option
|
||||
#
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Print the usage information for this script.
|
||||
#-------------------------------------------------------------------------------
|
||||
printUsage()
|
||||
{
|
||||
echo "Campcaster Station post-install script.";
|
||||
echo "parameters";
|
||||
echo "";
|
||||
echo " -d, --directory The installation directory, required.";
|
||||
echo " -D, --database The name of the Campcaster database.";
|
||||
echo " [default: Campcaster]";
|
||||
echo " -g, --apache-group The group the apache daemon runs as.";
|
||||
echo " [default: www-data]";
|
||||
echo " -r, --www-root The root directory for web documents served";
|
||||
echo " by apache [default: /var/www]";
|
||||
echo " -s, --dbserver The name of the database server host.";
|
||||
echo " [default: localhost]";
|
||||
echo " -u, --dbuser The name of the database user to access the"
|
||||
echo " database. [default: campcaster]";
|
||||
echo " -w, --dbpassword The database user password.";
|
||||
echo " [default: campcaster]";
|
||||
echo " -p, --postgresql-dir The postgresql data directory, containing";
|
||||
echo " pg_hba.conf [default: /etc/postgresql]";
|
||||
echo " -i, --postgresql-init-script The name of the postgresql init";
|
||||
echo " script [default: /etc/init.d/postgresql]";
|
||||
echo " -h, --help Print this message and exit.";
|
||||
echo "";
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Process command line parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CMD=${0##*/}
|
||||
|
||||
opts=$(getopt -o d:D:g:hi:p:r:s:u:w: -l apache-group:,database:,dbserver:,dbuser:,dbpassword:,directory:,help,postgresql-dir:,postgresql-init-script:,www-root: -n $CMD -- "$@") || exit 1
|
||||
eval set -- "$opts"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-d|--directory)
|
||||
installdir=$2;
|
||||
shift; shift;;
|
||||
-D|--database)
|
||||
database=$2;
|
||||
shift; shift;;
|
||||
-g|--apache-group)
|
||||
apache_group=$2;
|
||||
shift; shift;;
|
||||
-h|--help)
|
||||
printUsage;
|
||||
exit 0;;
|
||||
-i|--postgresql-init-script)
|
||||
postgresql_init_script=$2;
|
||||
shift; shift;;
|
||||
-p|--postgresql-dir)
|
||||
postgresql_dir=$2;
|
||||
shift; shift;;
|
||||
-r|--www-root)
|
||||
www_root=$2;
|
||||
shift; shift;;
|
||||
-s|--dbserver)
|
||||
dbserver=$2;
|
||||
shift; shift;;
|
||||
-u|--dbuser)
|
||||
dbuser=$2;
|
||||
shift; shift;;
|
||||
-w|--dbpassword)
|
||||
dbpassword=$2;
|
||||
shift; shift;;
|
||||
--)
|
||||
shift;
|
||||
break;;
|
||||
*)
|
||||
echo "Unrecognized option $1.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "x$installdir" == "x" ]; then
|
||||
echo "Required parameter install directory not specified.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ "x$dbserver" == "x" ]; then
|
||||
dbserver=localhost;
|
||||
fi
|
||||
|
||||
if [ "x$database" == "x" ]; then
|
||||
database=Campcaster;
|
||||
fi
|
||||
|
||||
if [ "x$dbuser" == "x" ]; then
|
||||
dbuser=campcaster;
|
||||
fi
|
||||
|
||||
if [ "x$dbpassword" == "x" ]; then
|
||||
dbpassword=campcaster;
|
||||
fi
|
||||
|
||||
if [ "x$apache_group" == "x" ]; then
|
||||
apache_group=www-data;
|
||||
fi
|
||||
|
||||
if [ "x$postgresql_dir" == "x" ]; then
|
||||
postgresql_dir=/etc/postgresql;
|
||||
fi
|
||||
|
||||
if [ "x$postgresql_init_script" == "x" ]; then
|
||||
postgresql_init_script=/etc/init.d/postgresql;
|
||||
fi
|
||||
|
||||
if [ "x$www_root" == "x" ]; then
|
||||
www_root=/var/www;
|
||||
fi
|
||||
|
||||
echo "Making post-install steps for Campcaster Station.";
|
||||
echo "";
|
||||
echo "Using the following installation parameters:";
|
||||
echo "";
|
||||
echo " installation directory: $installdir";
|
||||
echo " database server: $dbserver";
|
||||
echo " database: $database";
|
||||
echo " database user: $dbuser";
|
||||
echo " database user password: $dbpassword";
|
||||
echo " apache daemon group: $apache_group";
|
||||
echo " apache document root: $www_root";
|
||||
echo " postgresql data directory: $postgresql_dir";
|
||||
echo " postgresql init script: $postgresql_init_script";
|
||||
echo ""
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# The details of installation
|
||||
#-------------------------------------------------------------------------------
|
||||
ls_dbserver=$dbserver
|
||||
ls_dbuser=$dbuser
|
||||
ls_dbpassword=$dbpassword
|
||||
ls_database=$database
|
||||
|
||||
postgres_user=postgres
|
||||
|
||||
install_bin=$installdir/bin
|
||||
install_etc=$installdir/etc
|
||||
install_lib=$installdir/lib
|
||||
install_usr=$installdir/usr
|
||||
install_var_ls=$installdir/var/Campcaster
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Function to check for the existence of an executable on the PATH
|
||||
#
|
||||
# @param $1 the name of the exectuable
|
||||
# @return 0 if the executable exists on the PATH, non-0 otherwise
|
||||
#-------------------------------------------------------------------------------
|
||||
check_exe() {
|
||||
if [ -x "`which $1 2> /dev/null`" ]; then
|
||||
echo "Executable $1 found...";
|
||||
return 0;
|
||||
else
|
||||
echo "Executable $1 not found...";
|
||||
return 1;
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check to see if this script is being run as root
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ `whoami` != "root" ]; then
|
||||
echo "Please run this script as root.";
|
||||
exit ;
|
||||
fi
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check for required tools
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Checking for required tools..."
|
||||
|
||||
check_exe "sed" || exit 1;
|
||||
check_exe "psql" || exit 1;
|
||||
check_exe "php" || exit 1;
|
||||
check_exe "pear" || exit 1;
|
||||
check_exe "odbcinst" || exit 1;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check for the apache group to be a real group
|
||||
#-------------------------------------------------------------------------------
|
||||
group_tmp_file=/tmp/ls_group_check.$$
|
||||
touch $group_tmp_file
|
||||
test_result=`chgrp $apache_group $group_tmp_file 2> /dev/null`
|
||||
if [ $? != 0 ]; then
|
||||
rm -f $group_tmp_file;
|
||||
echo "Unable to use apache deamon group $apache_group.";
|
||||
echo "Please check if $apache_group is a correct user group.";
|
||||
exit 1;
|
||||
fi
|
||||
rm -f $group_tmp_file;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Install the new pg_hba.conf file
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Modifying postgresql access permissions...";
|
||||
|
||||
pg_config_dir=$postgresql_dir
|
||||
pg_config_file=pg_hba.conf
|
||||
pg_config_file_saved=pg_hba.conf.before-campcaster
|
||||
|
||||
if [ -f $pg_config_dir/$pg_config_file ] ; then
|
||||
mv -f $pg_config_dir/$pg_config_file $pg_config_dir/$pg_config_file_saved ;
|
||||
fi
|
||||
cp $install_etc/$pg_config_file $pg_config_dir/$pg_config_file
|
||||
chown root:$postgres_user $pg_config_dir/$pg_config_file
|
||||
|
||||
# don't use restart for the init script, as it might return prematurely
|
||||
# and in the later call to psql we wouldn't be able to connect
|
||||
${postgresql_init_script} stop
|
||||
${postgresql_init_script} start
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the necessary database user and database itself
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating database and database user...";
|
||||
|
||||
# FIXME: the below might not work for remote databases
|
||||
|
||||
if [ "x$ls_dbserver" == "xlocalhost" ]; then
|
||||
su - $postgres_user -c "echo \"CREATE USER $ls_dbuser \
|
||||
ENCRYPTED PASSWORD '$ls_dbpassword' \
|
||||
CREATEDB NOCREATEUSER;\" \
|
||||
| psql template1" \
|
||||
|| echo "Couldn't create database user $ls_dbuser.";
|
||||
|
||||
su - $postgres_user -c "echo \"CREATE DATABASE \\\"$ls_database\\\" \
|
||||
OWNER $ls_dbuser ENCODING 'utf-8';\" \
|
||||
| psql template1" \
|
||||
|| echo "Couldn't create database $ls_database.";
|
||||
else
|
||||
echo "Unable to automatically create database user and table for";
|
||||
echo "remote database $ls_dbserver.";
|
||||
echo "Make sure to create database user $ls_dbuser with password";
|
||||
echo "$ls_dbpassword on database server at $ls_dbserver.";
|
||||
echo "Also create a database called $ls_database, owned by this user.";
|
||||
echo "";
|
||||
echo "The easiest way to achieve this is by issuing the following SQL";
|
||||
echo "commands to PostgreSQL:";
|
||||
echo "CREATE USER $ls_dbuser";
|
||||
echo " ENCRYPTED PASSWORD '$ls_dbpassword'";
|
||||
echo " CREATEDB NOCREATEUSER;";
|
||||
echo "CREATE DATABASE \"$ls_database\"";
|
||||
echo " OWNER $ls_dbuser ENCODING 'utf-8';";
|
||||
fi
|
||||
|
||||
|
||||
# TODO: check for the success of these operations somehow
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the ODBC data source and driver
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating ODBC data source and driver...";
|
||||
|
||||
if [ -f /usr/lib/libodbcpsql.so ]; then
|
||||
odbcinst_template=$install_etc/odbcinst_template
|
||||
elif [ -f /usr/lib/odbc/psqlodbc.so ]; then
|
||||
odbcinst_template=$install_etc/odbcinst_old_debian_template
|
||||
elif [ -f /usr/lib/odbc/psqlodbcw.so ]; then
|
||||
odbcinst_template=$install_etc/odbcinst_new_debian_template
|
||||
else
|
||||
echo "###############################"
|
||||
echo "Postgresql driver for unixODBC not found;"
|
||||
echo "please register the PostgreSQL ODBC driver manually."
|
||||
echo "###############################"
|
||||
fi
|
||||
odbc_template=$install_etc/odbc_template
|
||||
odbc_template_tmp=/tmp/odbc_template.$$
|
||||
|
||||
# check for an existing PostgreSQL ODBC driver, and only install if necessary
|
||||
odbcinst_res=`odbcinst -q -d | grep "\[PostgreSQL\]"`
|
||||
if [ "x$odbcinst_template" != "x" ] && [ "x$odbcinst_res" == "x" ]; then
|
||||
echo "Registering ODBC PostgreSQL driver...";
|
||||
odbcinst -i -d -v -f $odbcinst_template || exit 1;
|
||||
fi
|
||||
|
||||
echo "Registering Campcaster ODBC data source...";
|
||||
odbcinst -i -s -l -f $odbc_template || exit 1;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Install PEAR packages (locally in the Campcaster)
|
||||
# only if necessary
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ -f $install_usr/lib/pear/bin/install.sh ]; then
|
||||
$install_usr/lib/pear/bin/install.sh -d $installdir || exit 1;
|
||||
fi
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Setup directory permissions
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Setting up directory permissions..."
|
||||
|
||||
chgrp $apache_group $install_var_ls/archiveServer/var/stor
|
||||
chgrp $apache_group $install_var_ls/archiveServer/var/access
|
||||
chgrp $apache_group $install_var_ls/archiveServer/var/trans
|
||||
chgrp $apache_group $install_var_ls/archiveServer/var/stor/buffer
|
||||
|
||||
chmod g+sw $install_var_ls/archiveServer/var/stor
|
||||
chmod g+sw $install_var_ls/archiveServer/var/access
|
||||
chmod g+sw $install_var_ls/archiveServer/var/trans
|
||||
chmod g+sw $install_var_ls/archiveServer/var/stor/buffer
|
||||
|
||||
chgrp $apache_group $install_var_ls/storageServer/var/stor
|
||||
chgrp $apache_group $install_var_ls/storageServer/var/access
|
||||
chgrp $apache_group $install_var_ls/storageServer/var/trans
|
||||
chgrp $apache_group $install_var_ls/storageServer/var/stor/buffer
|
||||
|
||||
chmod g+sw $install_var_ls/storageServer/var/stor
|
||||
chmod g+sw $install_var_ls/storageServer/var/access
|
||||
chmod g+sw $install_var_ls/storageServer/var/trans
|
||||
chmod g+sw $install_var_ls/storageServer/var/stor/buffer
|
||||
|
||||
chgrp $apache_group $install_var_ls/htmlUI/var/templates_c
|
||||
chgrp $apache_group $install_var_ls/htmlUI/var/html/img
|
||||
|
||||
chmod g+sw $install_var_ls/htmlUI/var/templates_c
|
||||
chmod g+sw $install_var_ls/htmlUI/var/html/img
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Configuring Apache
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Configuring apache ..."
|
||||
CONFFILE=90_php_campcaster.conf
|
||||
AP_DDIR_FOUND=no
|
||||
for APACHE_DDIR in \
|
||||
/etc/apache/conf.d /etc/apache2/conf.d /etc/apache2/conf/modules.d \
|
||||
/etc/httpd/conf.d
|
||||
do
|
||||
echo -n "$APACHE_DDIR "
|
||||
if [ -d $APACHE_DDIR ]; then
|
||||
echo "Y"
|
||||
AP_DDIR_FOUND=yes
|
||||
cp $basedir/etc/apache/$CONFFILE $APACHE_DDIR
|
||||
break
|
||||
else
|
||||
echo "N"
|
||||
fi
|
||||
done
|
||||
if [ "$AP_DDIR_FOUND" != "yes" ]; then
|
||||
echo "###############################"
|
||||
echo " Could not configure Apache"
|
||||
echo " include following file into apache config manually:"
|
||||
echo " $basedir/etc/apache/$CONFFILE"
|
||||
echo "###############################"
|
||||
fi
|
||||
echo "done"
|
||||
|
||||
echo "Restarting apache...";
|
||||
AP_SCR_FOUND=no
|
||||
for APACHE_SCRIPT in apache apache2 httpd ; do
|
||||
echo -n "$APACHE_SCRIPT "
|
||||
if [ -x /etc/init.d/$APACHE_SCRIPT ]; then
|
||||
echo "Y"
|
||||
AP_SCR_FOUND=yes
|
||||
/etc/init.d/$APACHE_SCRIPT restart
|
||||
else
|
||||
echo "N"
|
||||
fi
|
||||
done
|
||||
if [ "$AP_SCR_FOUND" != "yes" ]; then
|
||||
echo "###############################"
|
||||
echo " Could not reload Apache"
|
||||
echo " please reload apache manually"
|
||||
echo "###############################"
|
||||
fi
|
||||
echo "done"
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create symlinks
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating symlinks...";
|
||||
|
||||
# create symlink for the PHP pages in apache's document root
|
||||
rm -f $www_root/campcaster
|
||||
ln -s $install_var_ls $www_root/campcaster
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Initialize the database
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Initializing database...";
|
||||
|
||||
# create PHP-related database tables
|
||||
cd $install_var_ls/storageServer/var/install
|
||||
php -q install.php || exit 1;
|
||||
cd -
|
||||
|
||||
# create scheduler-related database tables
|
||||
cd $installdir
|
||||
./bin/scheduler.sh install || exit 1;
|
||||
cd -
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the gstreamer registry
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating gstreamer registry...";
|
||||
|
||||
gstreamer_dir=`find $install_lib -type d -name "gstreamer-*"`
|
||||
export LD_LIBRARY_PATH=$install_lib
|
||||
export GST_REGISTRY=$install_etc/gst-registry.xml
|
||||
export GST_PLUGIN_PATH=$gstreamer_dir
|
||||
$install_bin/gst-register > /dev/null 2>&1
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Say goodbye
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Done."
|
||||
|
|
@ -1,264 +0,0 @@
|
|||
#!/bin/sh
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#-------------------------------------------------------------------------------
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script makes post-uninstallation steps for Campcaster.
|
||||
#
|
||||
# Invoke as:
|
||||
# ./bin/postUninstall.sh
|
||||
#
|
||||
# To get usage help, try the -h option
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
etcdir=$basedir/etc
|
||||
docdir=$basedir/doc
|
||||
tmpdir=$basedir/tmp
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Print the usage information for this script.
|
||||
#-------------------------------------------------------------------------------
|
||||
printUsage()
|
||||
{
|
||||
echo "Campcaster post-uninstall script.";
|
||||
echo "parameters";
|
||||
echo "";
|
||||
echo " -d, --directory The installation directory, required.";
|
||||
echo " -D, --database The name of the Campcaster database.";
|
||||
echo " [default: Campcaster]";
|
||||
echo " -r, --www-root The root directory for web documents served";
|
||||
echo " by apache [default: /var/www]";
|
||||
echo " -s, --dbserver The name of the database server host.";
|
||||
echo " [default: localhost]";
|
||||
echo " -u, --dbuser The name of the database user to access the"
|
||||
echo " database. [default: campcaster]";
|
||||
echo " -h, --help Print this message and exit.";
|
||||
echo "";
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Process command line parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CMD=${0##*/}
|
||||
|
||||
opts=$(getopt -o d:D:hr:s:u: -l database:,dbserver:,dbuser:,directory:,help,www-root: -n $CMD -- "$@") || exit 1
|
||||
eval set -- "$opts"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-d|--directory)
|
||||
installdir=$2;
|
||||
shift; shift;;
|
||||
-D|--database)
|
||||
database=$2;
|
||||
shift; shift;;
|
||||
-h|--help)
|
||||
printUsage;
|
||||
exit 0;;
|
||||
-r|--www-root)
|
||||
www_root=$2;
|
||||
shift; shift;;
|
||||
-s|--dbserver)
|
||||
dbserver=$2;
|
||||
shift; shift;;
|
||||
-u|--dbuser)
|
||||
dbuser=$2;
|
||||
shift; shift;;
|
||||
--)
|
||||
shift;
|
||||
break;;
|
||||
*)
|
||||
echo "Unrecognized option $1.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "x$installdir" == "x" ]; then
|
||||
echo "Required parameter install directory not specified.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ "x$dbserver" == "x" ]; then
|
||||
dbserver=localhost;
|
||||
fi
|
||||
|
||||
if [ "x$database" == "x" ]; then
|
||||
database=Campcaster;
|
||||
fi
|
||||
|
||||
if [ "x$dbuser" == "x" ]; then
|
||||
dbuser=campcaster;
|
||||
fi
|
||||
|
||||
if [ "x$www_root" == "x" ]; then
|
||||
www_root=/var/www
|
||||
fi
|
||||
|
||||
|
||||
echo "Making post-uninstall steps for Campcaster.";
|
||||
echo "";
|
||||
echo "Using the following installation parameters:";
|
||||
echo "";
|
||||
echo " installation directory: $installdir";
|
||||
echo " database server: $dbserver";
|
||||
echo " database: $database";
|
||||
echo " database user: $dbuser";
|
||||
echo " apache document root: $www_root";
|
||||
echo ""
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# The details of installation
|
||||
#-------------------------------------------------------------------------------
|
||||
ls_dbserver=$dbserver
|
||||
ls_dbuser=$dbuser
|
||||
ls_database=$database
|
||||
|
||||
|
||||
postgres_user=postgres
|
||||
|
||||
install_bin=$installdir/bin
|
||||
install_etc=$installdir/etc
|
||||
install_lib=$installdir/lib
|
||||
install_tmp=$installdir/tmp
|
||||
install_var=$installdir/var
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Function to check for the existence of an executable on the PATH
|
||||
#
|
||||
# @param $1 the name of the exectuable
|
||||
# @return 0 if the executable exists on the PATH, non-0 otherwise
|
||||
#-------------------------------------------------------------------------------
|
||||
check_exe() {
|
||||
if [ -x "`which $1 2> /dev/null`" ]; then
|
||||
echo "Executable $1 found...";
|
||||
return 0;
|
||||
else
|
||||
echo "Executable $1 not found...";
|
||||
return 1;
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check to see if this script is being run as root
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ `whoami` != "root" ]; then
|
||||
echo "Please run this script as root.";
|
||||
exit ;
|
||||
fi
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check for required tools
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Checking for required tools..."
|
||||
|
||||
check_exe "psql" || exit 1;
|
||||
check_exe "odbcinst" || exit 1;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Remove symlinks
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Removing symlinks...";
|
||||
|
||||
# remove symlink for the PHP pages in apache's document root
|
||||
rm -f $www_root/campcaster
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Delete data files
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Deleting data files...";
|
||||
|
||||
rm -rf $installdir/var/htmlUI/var/html/img/*
|
||||
rm -rf $installdir/var/htmlUI/var/templates_c/*
|
||||
rm -rf $installdir/var/storageServer/var/stor/*
|
||||
rm -rf $installdir/var/storageServer/var/access/*
|
||||
rm -rf $installdir/var/storageServer/var/trans/*
|
||||
rm -rf $installdir/var/archiveServer/var/stor/*
|
||||
rm -rf $installdir/var/archiveServer/var/access/*
|
||||
rm -rf $installdir/var/archiveServer/var/trans/*
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Remove the ODBC data source and driver
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Removing ODBC data source and driver...";
|
||||
|
||||
echo "Removing Campcaster ODBC data source...";
|
||||
odbcinst -u -s -l -n $ls_database || exit 1;
|
||||
|
||||
echo "De-registering ODBC PostgreSQL driver...";
|
||||
odbcinst -u -d -v -n PostgreSQL || exit 1;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Remove the database user and the database itself
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Removing database and database user...";
|
||||
|
||||
if [ "x$ls_dbserver" == "xlocalhost" ]; then
|
||||
su - $postgres_user -c "echo \"DROP DATABASE \\\"$ls_database\\\" \"\
|
||||
| psql template1" \
|
||||
|| echo "Couldn't drop database $ls_database.";
|
||||
|
||||
su - $postgres_user -c "echo \"DROP USER $ls_dbuser \"\
|
||||
| psql template1" \
|
||||
|| echo "Couldn't drop database user $ls_dbuser.";
|
||||
|
||||
else
|
||||
echo "Unable to automatically drop database user and table for";
|
||||
echo "remote database $ls_dbserver.";
|
||||
echo "Make sure to drop database user $ls_dbuser on database server";
|
||||
echo "at $ls_dbserver.";
|
||||
echo "Also drop the database called $ld_database, owned by this user.";
|
||||
echo "";
|
||||
echo "The easiest way to achieve this is by issuing the following SQL";
|
||||
echo "commands to PostgreSQL:";
|
||||
echo "DROP DATABASE \"$ls_database\";";
|
||||
echo "DROP USER $ls_dbuser;";
|
||||
fi
|
||||
|
||||
|
||||
# TODO: check for the success of these operations somehow
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Say goodbye
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Done."
|
||||
|
|
@ -1,173 +0,0 @@
|
|||
#!/bin/sh
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#-------------------------------------------------------------------------------
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script makes pre-install steps and checks for Campcaster.
|
||||
#
|
||||
# Invoke as:
|
||||
# ./bin/preInstall.sh
|
||||
#
|
||||
# To get usage help, try the -h option
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
etcdir=$basedir/etc
|
||||
docdir=$basedir/doc
|
||||
srcdir=$basedir/src
|
||||
tmpdir=$basedir/tmp
|
||||
toolsdir=$srcdir/tools
|
||||
modules_dir=$srcdir/modules
|
||||
products_dir=$srcdir/products
|
||||
|
||||
usrdir=`cd $basedir/usr; pwd;`
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Print the usage information for this script.
|
||||
#-------------------------------------------------------------------------------
|
||||
printUsage()
|
||||
{
|
||||
echo "Campcaster pre-install script.";
|
||||
echo "parameters";
|
||||
echo "";
|
||||
echo " -g, --apache-group The group the apache daemon runs as.";
|
||||
echo " [default: apache]";
|
||||
echo " -h, --help Print this message and exit.";
|
||||
echo "";
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Process command line parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CMD=${0##*/}
|
||||
|
||||
opts=$(getopt -o g:h -l apache-group:,help -n $CMD -- "$@") || exit 1
|
||||
eval set -- "$opts"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-g|--apache-group)
|
||||
apache_group=$2;
|
||||
shift; shift;;
|
||||
-h|--help)
|
||||
printUsage;
|
||||
exit 0;;
|
||||
--)
|
||||
shift;
|
||||
break;;
|
||||
*)
|
||||
echo "Unrecognized option $1.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "x$apache_group" == "x" ]; then
|
||||
apache_group=apache;
|
||||
fi
|
||||
|
||||
|
||||
echo "Making pre-install steps for Campcaster.";
|
||||
echo "";
|
||||
echo "Using the following installation parameters:";
|
||||
echo "";
|
||||
echo " apache daemon group: $apache_group";
|
||||
echo ""
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check for the apache group to be a real group
|
||||
#-------------------------------------------------------------------------------
|
||||
group_tmp_file=/tmp/ls_group_check.$$
|
||||
touch $group_tmp_file
|
||||
test_result=`chgrp $apache_group $group_tmp_file 2> /dev/null`
|
||||
if [ $? != 0 ]; then
|
||||
rm -f $group_tmp_file;
|
||||
echo "Unable to use apache deamon group $apache_group.";
|
||||
echo "Please check if $apache_group is a correct user group.";
|
||||
exit 1;
|
||||
fi
|
||||
rm -f $group_tmp_file;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Function to check for the existence of an executable on the PATH
|
||||
#
|
||||
# @param $1 the name of the exectuable
|
||||
# @return 0 if the executable exists on the PATH, non-0 otherwise
|
||||
#-------------------------------------------------------------------------------
|
||||
check_exe() {
|
||||
if [ -x "`which $1 2> /dev/null`" ]; then
|
||||
echo "Executable $1 found...";
|
||||
return 0;
|
||||
else
|
||||
echo "Executable $1 not found...";
|
||||
return 1;
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Function to check for a PEAR module
|
||||
#
|
||||
# @param $1 the name of the PEAR module
|
||||
# @return 0 if the module is available, non-0 otherwise
|
||||
#-------------------------------------------------------------------------------
|
||||
check_pear_module() {
|
||||
test_result=`pear info $1`
|
||||
if [ $? = 0 ]; then
|
||||
echo "PEAR module $1 found...";
|
||||
return 0;
|
||||
else
|
||||
echo "PEAR module $1 not found...";
|
||||
return 1;
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check for required tools
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Checking for required tools..."
|
||||
|
||||
check_exe "sed" || exit 1;
|
||||
check_exe "psql" || exit 1;
|
||||
check_exe "php" || exit 1;
|
||||
check_exe "pear" || exit 1;
|
||||
check_exe "odbcinst" || exit 1;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Say goodbye
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Done."
|
||||
|
|
@ -1,126 +0,0 @@
|
|||
#!/bin/sh
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#-------------------------------------------------------------------------------
|
||||
#-------------------------------------------------------------------------------
|
||||
# A script to set up the development environment for Campcaster
|
||||
#
|
||||
# Invoke as:
|
||||
# ./bin/setupDevelopmentEnvironment.sh
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
etcdir=$basedir/etc
|
||||
docdir=$basedir/doc
|
||||
srcdir=$basedir/src
|
||||
tmpdir=$basedir/tmp
|
||||
toolsdir=$srcdir/tools
|
||||
modules_dir=$srcdir/modules
|
||||
products_dir=$srcdir/products
|
||||
|
||||
usrdir=`cd $basedir/usr; pwd;`
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Print the usage information for this script.
|
||||
#-------------------------------------------------------------------------------
|
||||
printUsage()
|
||||
{
|
||||
echo "Campcaster development environment setup script.";
|
||||
echo "parameters";
|
||||
echo "";
|
||||
echo " -g, --apache-group The group the apache daemon runs as.";
|
||||
echo " [default: apache]";
|
||||
echo " -h, --help Print this message and exit.";
|
||||
echo "";
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Process command line parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CMD=${0##*/}
|
||||
|
||||
opts=$(getopt -o g:h -l apache-group:,help -n $CMD -- "$@") || exit 1
|
||||
eval set -- "$opts"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-g|--apache-group)
|
||||
apache_group=$2;
|
||||
shift; shift;;
|
||||
-h|--help)
|
||||
printUsage;
|
||||
exit 0;;
|
||||
--)
|
||||
shift;
|
||||
break;;
|
||||
*)
|
||||
echo "Unrecognized option $1.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "x$apache_group" == "x" ]; then
|
||||
apache_group=apache;
|
||||
fi
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the configure script
|
||||
#-------------------------------------------------------------------------------
|
||||
rm -rf $tmpdir/configure
|
||||
$bindir/autogen.sh || exit 1
|
||||
$basedir/configure --prefix=$usrdir \
|
||||
--with-www-docroot=$usrdir/var \
|
||||
--with-apache-group=$apache_group \
|
||||
--enable-debug || exit 1
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Compile everything at once, including the tools
|
||||
#-------------------------------------------------------------------------------
|
||||
make -C $basedir all || exit 1
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# User setup
|
||||
#-------------------------------------------------------------------------------
|
||||
#echo "Setting up user settings..."
|
||||
|
||||
$bindir/user_setup.sh --apache-group=$apache_group || exit 1
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# We're done
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Done."
|
||||
|
|
@ -1,222 +0,0 @@
|
|||
#!/bin/sh
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#-------------------------------------------------------------------------------
|
||||
#-------------------------------------------------------------------------------
|
||||
# A script to set up the development environment for Campcaster
|
||||
#
|
||||
# Invoke as:
|
||||
# ./bin/setupDevelopmentEnvironmentAndLog.sh
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
tmpdir=$basedir/tmp
|
||||
logdir=$basedir/tmp
|
||||
|
||||
usrdir=`cd $basedir/usr; pwd;`
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Print the usage information for this script.
|
||||
#-------------------------------------------------------------------------------
|
||||
printUsage()
|
||||
{
|
||||
echo "Campcaster development environment setup script.";
|
||||
echo "parameters";
|
||||
echo "";
|
||||
echo " -g, --apache-group The group the apache daemon runs as.";
|
||||
echo " [default: apache]";
|
||||
echo " -h, --help Print this message and exit.";
|
||||
echo "";
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Process command line parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CMD=${0##*/}
|
||||
|
||||
opts=$(getopt -o g:h -l apache-group:,help -n $CMD -- "$@") || exit 1
|
||||
eval set -- "$opts"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-g|--apache-group)
|
||||
apache_group=$2;
|
||||
shift; shift;;
|
||||
-h|--help)
|
||||
printUsage;
|
||||
exit 0;;
|
||||
--)
|
||||
shift;
|
||||
break;;
|
||||
*)
|
||||
echo "Unrecognized option $1.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "x$apache_group" = "x" ]; then
|
||||
apache_group=apache;
|
||||
fi
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# All steps are being logged
|
||||
#------------------------------------------------------------------------------
|
||||
echo "";
|
||||
echo "The compile process will be started. All steps are being logged in";
|
||||
echo "$logdir ";
|
||||
echo "";
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Cleaning the setup
|
||||
#------------------------------------------------------------------------------
|
||||
mv -f $logdir/make_modprod_distclean_setup.log \
|
||||
$logdir/make_modprod_distclean_setup.log~
|
||||
make -C $basedir modprod_distclean \
|
||||
> $logdir/make_modprod_distclean_setup.log 2>&1
|
||||
ls -l $logdir/make_modprod_distclean_setup.log \
|
||||
>> $logdir/make_modprod_distclean_setup.log
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the configure script, using setup parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
# --prefix=$usrdir --with-www-docroot=$usrdir/var =/var/www
|
||||
# --with-hostname=localhost --with-apache-group=$apache_group
|
||||
# --enable-debug --with-configure-apache=no =yes
|
||||
#
|
||||
# --with-check-boost=no =yes --with-check-gtk=yes =no
|
||||
# --with-check-gtkmm=yes =no --with-check-icu=yes =no
|
||||
# --with-check-libxmlpp=yes =no
|
||||
#
|
||||
# --with-create-database=no =yes --with-create-odbc-data-source=no =yes
|
||||
# --with-init-database=no =yes
|
||||
#
|
||||
# --with-database=Campcaster =Campcaster-test
|
||||
# --with-database-user=campcaster =test
|
||||
# --with-database-password=campcaster =test
|
||||
#
|
||||
# --with-station-audio-out=default
|
||||
# --with-studio-audio-out=default
|
||||
# --with-studio-audio-cue=default
|
||||
|
||||
rm -rf $tmpdir/configure
|
||||
echo "Now Configure ... ";
|
||||
mv -f $logdir/configure_development_environment_autogen.log \
|
||||
$logdir/configure_development_environment_autogen.log~
|
||||
mv -f $logdir/configure_development_environment.log \
|
||||
$logdir/configure_development_environment.log~
|
||||
$bindir/autogen.sh \
|
||||
> $logdir/configure_development_environment_autogen.log 2>&1
|
||||
$basedir/configure --with-hostname=localhost --with-www-docroot=$usrdir/var \
|
||||
--prefix=$usrdir --with-apache-group=$apache_group \
|
||||
--with-check-boost=yes --with-check-gtk=yes \
|
||||
--with-check-gtkmm=yes --with-check-icu=yes \
|
||||
--with-check-libxmlpp=yes --enable-debug \
|
||||
> $logdir/configure_development_environment.log 2>&1
|
||||
echo "";
|
||||
echo "Configure is done, configure_development_environment.log is created";
|
||||
echo "";
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Compile step by step, including the tools
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Now Compiling ... Tools";
|
||||
mv -f $logdir/make_install_tools_setup.log \
|
||||
$logdir/make_install_tools_setup.log~
|
||||
make -C $basedir tools_setup \
|
||||
> $logdir/make_install_tools_setup.log 2>&1
|
||||
ls -l $logdir/make_install_tools_setup.log \
|
||||
>> $logdir/make_install_tools_setup.log
|
||||
echo "Done Tools Setup, make_install_tools_setup.log is created";
|
||||
echo "";
|
||||
echo "Now Compiling ... Doxytag";
|
||||
mv -f $logdir/make_doxytag_setup.log \
|
||||
$logdir/make_doxytag_setup.log~
|
||||
make -C $basedir doxytag_setup \
|
||||
> $logdir/make_doxytag_setup.log 2>&1
|
||||
ls -l $logdir/make_doxytag_setup.log \
|
||||
>> $logdir/make_doxytag_setup.log
|
||||
echo "Done Doxytag Setup, make_doxytag_setup.log is created";
|
||||
echo "";
|
||||
echo "Now Configure ... Modules ... Products";
|
||||
mv -f $logdir/make_configure_modules_setup.log \
|
||||
$logdir/make_configure_modules_setup.log~
|
||||
make -C $basedir modules_setup \
|
||||
> $logdir/make_configure_modules_setup.log 2>&1
|
||||
ls -l $logdir/make_configure_modules_setup.log \
|
||||
>> $logdir/make_configure_modules_setup.log
|
||||
echo "Configure the Modules is done, make_configure_modules_setup.log is created";
|
||||
mv -f $logdir/make_configure_products_setup.log \
|
||||
$logdir/make_configure_products_setup.log~
|
||||
make -C $basedir products_setup \
|
||||
> $logdir/make_configure_products_setup.log 2>&1
|
||||
ls -l $logdir/make_configure_products_setup.log \
|
||||
>> $logdir/make_configure_products_setup.log
|
||||
echo "Configure the Products is done, make_configure_products_setup.log is created";
|
||||
echo "";
|
||||
echo "Now Compiling ...";
|
||||
mv -f $logdir/make_compile_setup.log \
|
||||
$logdir/make_compile_setup.log~
|
||||
make -C $basedir compile \
|
||||
> $logdir/make_compile_setup.log 2>&1
|
||||
ls -l $logdir/make_compile_setup.log \
|
||||
>> $logdir/make_compile_setup.log
|
||||
echo "Compiling is done, make_compile_setup.log is created";
|
||||
echo "";
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Checking what we have done
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Now Checking ...";
|
||||
mv -f $logdir/make_check_setup.log \
|
||||
$logdir/make_check_setup.log~
|
||||
make -C $basedir check \
|
||||
> $logdir/make_check_setup.log 2>&1
|
||||
ls -l $logdir/make_check_setup.log \
|
||||
>> $logdir/make_check_setup.log
|
||||
echo "Checking is be done, make_check_setup.log is created";
|
||||
echo "";
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# User setup
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Setting up user settings ...";
|
||||
|
||||
$bindir/user_setup.sh --apache-group=$apache_group || exit 1
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# We're done
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Done."
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
#!/bin/sh
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script runs cvs to update the Campcaster source code.
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
tmpdir=$basedir/tmp
|
||||
logdir=$basedir/tmp
|
||||
|
||||
echo "";
|
||||
echo "The Campcaster source code will be updated now ... and logged in";
|
||||
echo "$logdir";
|
||||
echo "";
|
||||
|
||||
cd $bindir/..
|
||||
svn update >& $logdir/svn_update.log
|
||||
ls -l $logdir/svn_update.log >> $logdir/svn_update.log
|
||||
cat $logdir/svn_update.log
|
||||
echo "";
|
||||
echo "The svn update is done, svn_update.log is created";
|
|
@ -1,83 +0,0 @@
|
|||
#!/bin/sh
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#-------------------------------------------------------------------------------
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script sets up the test database for Campcaster
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
etcdir=$basedir/etc
|
||||
docdir=$basedir/doc
|
||||
srcdir=$basedir/src
|
||||
tmpdir=$basedir/tmp
|
||||
toolsdir=$srcdir/tools
|
||||
modules_dir=$srcdir/modules
|
||||
products_dir=$srcdir/products
|
||||
|
||||
scheduler_dir=${products_dir}/scheduler
|
||||
scheduler_bindir=${scheduler_dir}/bin
|
||||
|
||||
usrdir=`cd $basedir/usr; pwd;`
|
||||
|
||||
installlog=/tmp/campcaster_install.log
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# The details of the setup
|
||||
#-------------------------------------------------------------------------------
|
||||
ls_database=Campcaster-test
|
||||
ls_dbuser=test
|
||||
ls_dbpassword=test
|
||||
ls_dbserver=localhost
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the necessary database user and database itself
|
||||
#-------------------------------------------------------------------------------
|
||||
${scheduler_bindir}/createDatabase.sh --database=${ls_database} \
|
||||
--dbuser=${ls_dbuser} \
|
||||
--dbpassword=${ls_dbpassword} \
|
||||
--dbserver=${ls_dbserver}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the ODBC data source and driver
|
||||
#-------------------------------------------------------------------------------
|
||||
${scheduler_bindir}/createOdbcDataSource.sh --database=${ls_database} \
|
||||
--dbserver=${ls_dbserver}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Say goodbye
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Done."
|
||||
|
|
@ -1,241 +0,0 @@
|
|||
#!/bin/sh
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#-------------------------------------------------------------------------------
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script updates the configuration file of Campcaster Studio.
|
||||
#
|
||||
# Invoke as:
|
||||
# ./bin/updateStudioConfig.sh
|
||||
#
|
||||
# To get usage help, try the -h option
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
etcdir=$basedir/etc
|
||||
docdir=$basedir/doc
|
||||
tmpdir=$basedir/tmp
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Print the usage information for this script.
|
||||
#-------------------------------------------------------------------------------
|
||||
printUsage()
|
||||
{
|
||||
echo "Campcaster Studio post-install script.";
|
||||
echo "parameters";
|
||||
echo "";
|
||||
echo " -d, --directory The installation directory, required.";
|
||||
echo " -H, --host The fully qualified host name of the system";
|
||||
echo " [default: guess].";
|
||||
echo " -p, --port The port of the apache web server [default: 80]"
|
||||
echo " -P, --scheduler-port The port of the scheduler daemon to install"
|
||||
echo " [default: 3344]";
|
||||
echo " -o, --output-device The audio device of live-mode broadcast";
|
||||
echo " [default: default]";
|
||||
echo " -c, --cue-device The audio device of preview listening";
|
||||
echo " [default: default]";
|
||||
echo " -h, --help Print this message and exit.";
|
||||
echo "";
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Process command line parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CMD=${0##*/}
|
||||
|
||||
opts=$(getopt -o d:H:hp:P:c:o: -l directory:,host:,help,port:,scheduler-port:,cue-device:,output-device: -n $CMD -- "$@") || exit 1
|
||||
eval set -- "$opts"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-d|--directory)
|
||||
installdir=$2;
|
||||
shift; shift;;
|
||||
-H|--host)
|
||||
hostname=$2;
|
||||
shift; shift;;
|
||||
-h|--help)
|
||||
printUsage;
|
||||
exit 0;;
|
||||
-p|--port)
|
||||
http_port=$2;
|
||||
shift; shift;;
|
||||
-P|--scheduler-port)
|
||||
scheduler_port=$2;
|
||||
shift; shift;;
|
||||
-o|--output-device)
|
||||
output_alsa_device=$2;
|
||||
shift; shift;;
|
||||
-c|--cue-device)
|
||||
cue_alsa_device=$2;
|
||||
shift; shift;;
|
||||
--)
|
||||
shift;
|
||||
break;;
|
||||
*)
|
||||
echo "Unrecognized option $1.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "x$installdir" == "x" ]; then
|
||||
echo "Required parameter install directory not specified.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ "x$hostname" == "x" ]; then
|
||||
hostname=`hostname -f`;
|
||||
fi
|
||||
|
||||
if [ "x$http_port" == "x" ]; then
|
||||
http_port=80;
|
||||
fi
|
||||
|
||||
if [ "x$scheduler_port" == "x" ]; then
|
||||
scheduler_port=3344;
|
||||
fi
|
||||
|
||||
if [ "x$output_alsa_device" == "x" ]; then
|
||||
output_alsa_device="default";
|
||||
fi
|
||||
|
||||
if [ "x$cue_alsa_device" == "x" ]; then
|
||||
cue_alsa_device="default";
|
||||
fi
|
||||
|
||||
echo "Making post-install steps for Campcaster Studio.";
|
||||
echo "";
|
||||
echo "Using the following installation parameters:";
|
||||
echo "";
|
||||
echo " installation directory: $installdir";
|
||||
echo " host name: $hostname";
|
||||
echo " web server port: $http_port";
|
||||
echo " scheduler port: $scheduler_port";
|
||||
echo " live broadcast device: $output_alsa_device";
|
||||
echo " preview device: $cue_alsa_device";
|
||||
echo ""
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# The details of installation
|
||||
#-------------------------------------------------------------------------------
|
||||
ls_php_host=$hostname
|
||||
ls_php_port=$http_port
|
||||
ls_php_urlPrefix=campcaster
|
||||
|
||||
ls_alib_xmlRpcPrefix="xmlrpc/xrLocStor.php"
|
||||
ls_storage_xmlRpcPrefix="xmlrpc/xrLocStor.php"
|
||||
|
||||
ls_scheduler_host=$hostname
|
||||
ls_scheduler_port=$scheduler_port
|
||||
ls_scheduler_urlPrefix=
|
||||
ls_scheduler_xmlRpcPrefix=RC2
|
||||
ls_output_alsa_device=$output_alsa_device
|
||||
ls_cue_alsa_device=$cue_alsa_device
|
||||
|
||||
|
||||
install_bin=$installdir/bin
|
||||
install_etc=$installdir/etc
|
||||
install_lib=$installdir/lib
|
||||
install_tmp=$installdir/tmp
|
||||
install_var=$installdir/var
|
||||
|
||||
|
||||
# replace / characters with a \/ sequence, for sed below
|
||||
# the sed statement is really "s/\//\\\\\//g", but needs escaping because of
|
||||
# bash, hence the extra '\' characters
|
||||
install_var_s=`echo $install_var | sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_storage_xmlRpcPrefix_s=`echo $ls_storage_xmlRpcPrefix | \
|
||||
sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_alib_xmlRpcPrefix_s=`echo $ls_alib_xmlRpcPrefix | sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_php_urlPrefix_s=`echo $ls_php_urlPrefix | sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_scheduler_urlPrefix_s=`echo $ls_scheduler_urlPrefix | \
|
||||
sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_scheduler_xmlRpcPrefix_s=`echo $ls_scheduler_xmlRpcPrefix | \
|
||||
sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_output_alsa_device_s=`echo $ls_output_alsa_device | sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_cue_alsa_device_s=`echo $ls_cue_alsa_device | sed -e "s/\//\\\\\\\\\//g"`
|
||||
|
||||
replace_sed_string="s/ls_var_dir/$install_var_s/; \
|
||||
s/ls_php_urlPrefix/$ls_php_urlPrefix_s/; \
|
||||
s/ls_php_host/$ls_php_host/; \
|
||||
s/ls_php_port/$ls_php_port/; \
|
||||
s/ls_alib_xmlRpcPrefix/$ls_alib_xmlRpcPrefix_s/; \
|
||||
s/ls_audio_output_device/$ls_output_alsa_device_s/; \
|
||||
s/ls_audio_cue_device/$ls_cue_alsa_device_s/; \
|
||||
s/ls_scheduler_host/$ls_scheduler_host/; \
|
||||
s/ls_scheduler_port/$ls_scheduler_port/; \
|
||||
s/ls_scheduler_xmlRpcPrefix/$ls_scheduler_xmlRpcPrefix_s/;"
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Function to check for the existence of an executable on the PATH
|
||||
#
|
||||
# @param $1 the name of the exectuable
|
||||
# @return 0 if the executable exists on the PATH, non-0 otherwise
|
||||
#-------------------------------------------------------------------------------
|
||||
check_exe() {
|
||||
if [ -x "`which $1 2> /dev/null`" ]; then
|
||||
echo "Executable $1 found...";
|
||||
return 0;
|
||||
else
|
||||
echo "Executable $1 not found...";
|
||||
return 1;
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check for required tools
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Checking for required tools..."
|
||||
|
||||
check_exe "sed" || exit 1;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Customize the configuration files with the appropriate values
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Customizing configuration files..."
|
||||
|
||||
# customize the Campcaster Studio config file
|
||||
cat $install_etc/campcaster-studio.xml.template \
|
||||
| sed -e "$replace_sed_string" \
|
||||
> $install_etc/campcaster-studio.xml
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Say goodbye
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Done."
|
||||
|
|
@ -1,390 +0,0 @@
|
|||
#!/bin/sh
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#-------------------------------------------------------------------------------
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script configures the environment for a developer.
|
||||
#
|
||||
# Invoke as:
|
||||
# ./bin/user_setup.sh
|
||||
#
|
||||
# To get usage help, try the -h option
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
etcdir=$basedir/etc
|
||||
docdir=$basedir/doc
|
||||
srcdir=$basedir/src
|
||||
tmpdir=$basedir/tmp
|
||||
toolsdir=$srcdir/tools
|
||||
modules_dir=$srcdir/modules
|
||||
products_dir=$srcdir/products
|
||||
scheduler_dir=$products_dir/scheduler
|
||||
scheduler_bin_dir=$scheduler_dir/bin
|
||||
|
||||
usrdir=`cd $basedir/usr; pwd;`
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Print the usage information for this script.
|
||||
#-------------------------------------------------------------------------------
|
||||
printUsage()
|
||||
{
|
||||
echo "Campcaster local user settings setup script.";
|
||||
echo "parameters";
|
||||
echo "";
|
||||
echo " -g, --apache-group The group the apache daemon runs as.";
|
||||
echo " [default: apache]";
|
||||
echo " -h, --help Print this message and exit.";
|
||||
echo "";
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Process command line parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CMD=${0##*/}
|
||||
|
||||
opts=$(getopt -o g:h -l apache-group:,help -n $CMD -- "$@") || exit 1
|
||||
eval set -- "$opts"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-g|--apache-group)
|
||||
apache_group=$2;
|
||||
shift; shift;;
|
||||
-h|--help)
|
||||
printUsage;
|
||||
exit 0;;
|
||||
--)
|
||||
shift;
|
||||
break;;
|
||||
*)
|
||||
echo "Unrecognized option $1.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "x$apache_group" == "x" ]; then
|
||||
apache_group=apache;
|
||||
fi
|
||||
|
||||
scheduler_base_port=3344
|
||||
|
||||
user=`whoami`
|
||||
# force localhost always
|
||||
hostname=localhost
|
||||
http_port=80
|
||||
scheduler_port=`expr $scheduler_base_port + $UID`
|
||||
dbserver=localhost
|
||||
database=Campcaster-$user
|
||||
dbuser=test
|
||||
dbpassword=test
|
||||
homedir=$HOME
|
||||
configdir=$homedir/.campcaster
|
||||
htmldir=$homedir/public_html
|
||||
output_device=default
|
||||
cue_device=default
|
||||
|
||||
|
||||
echo "Configuring Campcaster development environment for user $user.";
|
||||
echo "";
|
||||
echo "Using the following installation parameters:";
|
||||
echo "";
|
||||
echo " host name: $hostname";
|
||||
echo " web server port: $http_port";
|
||||
echo " scheduler port: $scheduler_port";
|
||||
echo " database server: $dbserver";
|
||||
echo " database: $database";
|
||||
echo " database user: $dbuser";
|
||||
echo " database user password: $dbpassword";
|
||||
echo " apache daemon group: $apache_group";
|
||||
echo " home directory: $homedir";
|
||||
echo " configuration directory: $configdir";
|
||||
echo " web base directory: $htmldir";
|
||||
echo " output audio device: $output_device";
|
||||
echo ""
|
||||
|
||||
|
||||
# check for the apache group to be a real group
|
||||
group_tmp_file=/tmp/ls_group_check.$$
|
||||
touch $group_tmp_file
|
||||
test_result=`chgrp $apache_group $group_tmp_file 2> /dev/null`
|
||||
if [ $? != 0 ]; then
|
||||
rm -f $group_tmp_file;
|
||||
echo "Unable to use apache deamon group $apache_group.";
|
||||
echo "Please check if $apache_group is a correct user group.";
|
||||
exit 1;
|
||||
fi
|
||||
rm -f $group_tmp_file;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# The details of installation
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
installdir=$usrdir
|
||||
|
||||
ls_php_host=$hostname
|
||||
ls_php_port=$http_port
|
||||
ls_php_urlPrefix=~$user/campcaster
|
||||
|
||||
ls_alib_xmlRpcPrefix="xmlrpc/xrLocStor.php"
|
||||
ls_storage_xmlRpcPrefix="xmlrpc/xrLocStor.php"
|
||||
|
||||
ls_dbserver=$dbserver
|
||||
ls_dbuser=$dbuser
|
||||
ls_dbpassword=$dbpassword
|
||||
ls_database=$database
|
||||
|
||||
ls_scheduler_host=$hostname
|
||||
ls_scheduler_port=$scheduler_port
|
||||
ls_scheduler_urlPrefix=
|
||||
ls_scheduler_xmlRpcPrefix=RC2
|
||||
ls_tmp_dir=$tmpdir
|
||||
ls_scheduler_daemon_command="$scheduler_bin_dir/scheduler_devenv.sh"
|
||||
|
||||
ls_audio_output_device=$output_device
|
||||
ls_audio_cue_device=$cue_device
|
||||
|
||||
# replace / characters with a \/ sequence, for sed below
|
||||
# the sed statement is really "s/\//\\\\\//g", but needs escaping because of
|
||||
# bash, hence the extra '\' characters
|
||||
installdir_s=`echo $installdir | sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_storage_xmlRpcPrefix_s=`echo $ls_storage_xmlRpcPrefix | \
|
||||
sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_alib_xmlRpcPrefix_s=`echo $ls_alib_xmlRpcPrefix | sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_php_urlPrefix_s=`echo $ls_php_urlPrefix | sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_scheduler_urlPrefix_s=`echo $ls_scheduler_urlPrefix | \
|
||||
sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_scheduler_xmlRpcPrefix_s=`echo $ls_scheduler_xmlRpcPrefix | \
|
||||
sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_tmp_dir_s=`echo $ls_tmp_dir | sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_scheduler_daemon_command_s=`echo $ls_scheduler_daemon_command | \
|
||||
sed -e "s/\//\\\\\\\\\//g"`
|
||||
|
||||
replace_sed_string="s/ls_install_dir/$installdir_s/; \
|
||||
s/ls_dbuser/$ls_dbuser/; \
|
||||
s/ls_dbpassword/$ls_dbpassword/; \
|
||||
s/ls_dbserver/$ls_dbserver/; \
|
||||
s/ls_database/$ls_database/; \
|
||||
s/ls_storageUrlPath/\/$ls_php_urlPrefix_s\/storageServer\/var/; \
|
||||
s/ls_php_urlPrefix/$ls_php_urlPrefix_s/; \
|
||||
s/ls_storage_xmlRpcPrefix/$ls_storage_xmlRpcPrefix_s/; \
|
||||
s/ls_alib_xmlRpcPrefix/$ls_alib_xmlRpcPrefix_s/; \
|
||||
s/ls_php_host/$ls_php_host/; \
|
||||
s/ls_php_port/$ls_php_port/; \
|
||||
s/ls_archiveUrlPath/\/$ls_php_urlPrefix_s\/archiveServer\/var/; \
|
||||
s/ls_scheduler_urlPrefix/$ls_scheduler_urlPrefix_s/; \
|
||||
s/ls_scheduler_xmlRpcPrefix/$ls_scheduler_xmlRpcPrefix_s/; \
|
||||
s/ls_scheduler_host/$ls_scheduler_host/; \
|
||||
s/ls_scheduler_port/$ls_scheduler_port/; \
|
||||
s/ls_audio_output_device/$ls_audio_output_device/; \
|
||||
s/ls_audio_cue_device/$ls_audio_cue_device/; \
|
||||
s/ls_tmp_dir/$ls_tmp_dir_s/; \
|
||||
s/ls_scheduler_daemon_command/$ls_scheduler_daemon_command_s/;"
|
||||
echo
|
||||
echo $replace_sed_string
|
||||
echo
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Function to check for the existence of an executable on the PATH
|
||||
#
|
||||
# @param $1 the name of the exectuable
|
||||
# @return 0 if the executable exists on the PATH, non-0 otherwise
|
||||
#-------------------------------------------------------------------------------
|
||||
check_exe() {
|
||||
if [ -x "`which $1 2> /dev/null`" ]; then
|
||||
echo "Executable $1 found...";
|
||||
return 0;
|
||||
else
|
||||
echo "Executable $1 not found...";
|
||||
return 1;
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Function to check for a PEAR module
|
||||
#
|
||||
# @param $1 the name of the PEAR module
|
||||
# @return 0 if the module is available, non-0 otherwise
|
||||
#-------------------------------------------------------------------------------
|
||||
check_pear_module() {
|
||||
test_result=`pear info $1`
|
||||
if [ $? = 0 ]; then
|
||||
echo "PEAR module $1 found...";
|
||||
return 0;
|
||||
else
|
||||
echo "PEAR module $1 not found...";
|
||||
return 1;
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check for required tools
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Checking for required tools..."
|
||||
|
||||
check_exe "sed" || exit 1;
|
||||
check_exe "php" || exit 1;
|
||||
check_exe "pear" || exit 1;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Customize the configuration files with the appropriate values
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Customizing configuration files..."
|
||||
|
||||
mkdir -p $configdir
|
||||
|
||||
cat $modules_dir/storageServer/var/conf_only.php.template \
|
||||
| sed -e "$replace_sed_string" \
|
||||
> $configdir/storageServer.conf.php
|
||||
|
||||
cat $modules_dir/archiveServer/var/conf_only.php.template \
|
||||
| sed -e "$replace_sed_string" \
|
||||
> $configdir/archiveServer.conf.php
|
||||
|
||||
cat $modules_dir/authentication/etc/webAuthentication.xml.template \
|
||||
| sed -e "$replace_sed_string" \
|
||||
> $configdir/webAuthentication.xml
|
||||
|
||||
cat $modules_dir/db/etc/connectionManagerFactory.xml.template \
|
||||
| sed -e "$replace_sed_string" \
|
||||
> $configdir/connectionManagerFactory.xml
|
||||
|
||||
cat $modules_dir/db/etc/simpleConnectionManager.xml.template \
|
||||
| sed -e "$replace_sed_string" \
|
||||
> $configdir/simpleConnectionManager.xml
|
||||
|
||||
cat $modules_dir/schedulerClient/etc/schedulerClientFactory.xml.template \
|
||||
| sed -e "$replace_sed_string" \
|
||||
> $configdir/schedulerClientFactory.xml
|
||||
|
||||
cat $modules_dir/schedulerClient/etc/schedulerDaemonXmlRpcClient.xml.template \
|
||||
| sed -e "$replace_sed_string" \
|
||||
> $configdir/schedulerDaemonXmlRpcClient.xml
|
||||
|
||||
cat $modules_dir/storageClient/etc/webAuthenticationClient.xml.template \
|
||||
| sed -e "$replace_sed_string" \
|
||||
> $configdir/webAuthenticationClient.xml
|
||||
|
||||
cat $modules_dir/storageClient/etc/webStorage.xml.template \
|
||||
| sed -e "$replace_sed_string" \
|
||||
> $configdir/webStorage.xml
|
||||
|
||||
cat $products_dir/scheduler/etc/scheduler.xml.template \
|
||||
| sed -e "$replace_sed_string" \
|
||||
> $configdir/scheduler.xml
|
||||
|
||||
cat $products_dir/gLiveSupport/etc/campcaster-studio.xml.user-template \
|
||||
| sed -e "$replace_sed_string" \
|
||||
> $configdir/campcaster-studio.xml
|
||||
|
||||
cat $products_dir/gLiveSupport/etc/authenticationClient.xml.user-template \
|
||||
| sed -e "$replace_sed_string" \
|
||||
> $configdir/authenticationClient.xml
|
||||
|
||||
cat $products_dir/gLiveSupport/etc/storageClient.xml.user-template \
|
||||
| sed -e "$replace_sed_string" \
|
||||
> $configdir/storageClient.xml
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the public html directory, and links to the PHP directories
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating public HTML directory and links to web interfaces..."
|
||||
|
||||
mkdir -p $htmldir
|
||||
|
||||
rm -f $htmldir/campcaster
|
||||
|
||||
ln -s $modules_dir $htmldir/campcaster
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Setup storageServer
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Setting up storageServer..."
|
||||
|
||||
make -C $modules_dir/storageServer storage || exit 1
|
||||
make -C $modules_dir/archiveServer storage || exit 1
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Setup directory permissions
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Setting up directory permissions..."
|
||||
|
||||
chgrp $apache_group $modules_dir/archiveServer/var/stor
|
||||
chgrp $apache_group $modules_dir/archiveServer/var/access
|
||||
chgrp $apache_group $modules_dir/archiveServer/var/trans
|
||||
chgrp $apache_group $modules_dir/archiveServer/var/stor/buffer
|
||||
|
||||
chmod g+sw $modules_dir/archiveServer/var/stor
|
||||
chmod g+sw $modules_dir/archiveServer/var/access
|
||||
chmod g+sw $modules_dir/archiveServer/var/trans
|
||||
chmod g+sw $modules_dir/archiveServer/var/stor/buffer
|
||||
|
||||
chgrp $apache_group $modules_dir/storageServer/var/stor
|
||||
chgrp $apache_group $modules_dir/storageServer/var/access
|
||||
chgrp $apache_group $modules_dir/storageServer/var/trans
|
||||
chgrp $apache_group $modules_dir/storageServer/var/stor/buffer
|
||||
|
||||
chmod g+sw $modules_dir/storageServer/var/stor
|
||||
chmod g+sw $modules_dir/storageServer/var/access
|
||||
chmod g+sw $modules_dir/storageServer/var/trans
|
||||
chmod g+sw $modules_dir/storageServer/var/stor/buffer
|
||||
|
||||
chgrp $apache_group $modules_dir/htmlUI/var/templates_c
|
||||
chgrp $apache_group $modules_dir/htmlUI/var/html/img
|
||||
|
||||
chmod g+sw $modules_dir/htmlUI/var/templates_c
|
||||
chmod g+sw $modules_dir/htmlUI/var/html/img
|
||||
|
||||
cp $modules_dir/htmlUI/var/redirect.php $modules_dir/index.php
|
||||
cp $modules_dir/htmlUI/var/redirect.php $modules_dir/htmlUI/index.php
|
||||
cp $modules_dir/htmlUI/var/redirect.php $modules_dir/htmlUI/var/index.php
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Say goodbye
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "";
|
||||
echo "The HTML user interface for the Campcaster development environment";
|
||||
echo "for user $user is available at:";
|
||||
echo "http://$ls_php_host:$ls_php_port/$ls_php_urlPrefix/htmlUI/var";
|
||||
echo "";
|
||||
echo "Done."
|
||||
|
|
@ -1,140 +0,0 @@
|
|||
#!/bin/sh
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#-------------------------------------------------------------------------------
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script sets up the development environment for a user.
|
||||
#
|
||||
# Invoke as:
|
||||
# ./bin/user_setup_root.sh
|
||||
#
|
||||
# To get usage help, try the -h option
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
etcdir=$basedir/etc
|
||||
docdir=$basedir/doc
|
||||
srcdir=$basedir/src
|
||||
tmpdir=$basedir/tmp
|
||||
toolsdir=$srcdir/tools
|
||||
modules_dir=$srcdir/modules
|
||||
products_dir=$srcdir/products
|
||||
|
||||
scheduler_dir=${products_dir}/scheduler
|
||||
scheduler_bindir=${scheduler_dir}/bin
|
||||
|
||||
usrdir=`cd $basedir/usr; pwd;`
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Print the usage information for this script.
|
||||
#-------------------------------------------------------------------------------
|
||||
printUsage()
|
||||
{
|
||||
echo "Campcaster user database setup script.";
|
||||
echo "parameters:";
|
||||
echo "";
|
||||
echo " -u, --user The user to set up the environment for.";
|
||||
echo " Required parameter.";
|
||||
echo " -h, --help Print this message and exit.";
|
||||
echo "";
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Process command line parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CMD=${0##*/}
|
||||
|
||||
opts=$(getopt -o hu: -l help,user: -n $CMD -- "$@") || exit 1
|
||||
eval set -- "$opts"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-h|--help)
|
||||
printUsage;
|
||||
exit 0;;
|
||||
-u|--user)
|
||||
user=$2;
|
||||
shift; shift;;
|
||||
--)
|
||||
shift;
|
||||
break;;
|
||||
*)
|
||||
echo "Unrecognized option $1.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "x$user" == "x" ]; then
|
||||
echo "Required parameter user missing.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
|
||||
echo "Creating the Campcaster user database";
|
||||
echo "for user: $user.";
|
||||
echo ""
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# The details of installation
|
||||
#-------------------------------------------------------------------------------
|
||||
postgres_user=postgres
|
||||
|
||||
ls_database=Campcaster-$user
|
||||
ls_dbuser=test
|
||||
ls_dbpassword=test
|
||||
ls_dbserver=localhost
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the necessary database user and database itself
|
||||
#-------------------------------------------------------------------------------
|
||||
${scheduler_bindir}/createDatabase.sh --database=${ls_database} \
|
||||
--dbuser=${ls_dbuser} \
|
||||
--dbpassword=${ls_dbpassword} \
|
||||
--dbserver=${ls_dbserver}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the ODBC data source and driver
|
||||
#-------------------------------------------------------------------------------
|
||||
${scheduler_bindir}/createOdbcDataSource.sh --database=${ls_database} \
|
||||
--dbserver=${ls_dbserver}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Say goodbye
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Done."
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
#!/bin/sh
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Run this script to configure the environment.
|
||||
#
|
||||
# This script in effect calls the real automake / autoconf configure script
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
# assume we're in $basedir
|
||||
reldir=`dirname $0`
|
||||
basedir=`cd $reldir; pwd;`
|
||||
test -z "$basedir" && basedir=.
|
||||
|
||||
bindir=$basedir/bin
|
||||
tmpdir=$basedir/tmp
|
||||
|
||||
|
||||
autogen=$bindir/autogen.sh
|
||||
configure=$tmpdir/configure
|
||||
|
||||
if [ ! -x $configure ]; then
|
||||
(cd $basedir && $autogen $*)
|
||||
fi
|
||||
|
||||
(cd $tmpdir && $configure $*)
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
|
||||
<title>autoconf configure file conventions</title>
|
||||
<meta content="$Author$" name="author">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Preface</h1>
|
||||
This document is part of the <a href="http://campcaster.campware.org/">LiveSupport</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU <a
|
||||
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
<ul>
|
||||
<li>Author: $Author$</li>
|
||||
<li>Version: $Revision$</li>
|
||||
<li>Location: $URL$</li>
|
||||
</ul>
|
||||
<h1>Scope</h1>
|
||||
This document describes the autoconf configure file conventions for the
|
||||
LiveSupport
|
||||
project. See also the generic description of the <a
|
||||
href="fileConventions.html">file
|
||||
conventions</a> in the LiveSupport
|
||||
project.<br>
|
||||
<h1>Introduction</h1>
|
||||
Autoconf configure input files are processed by GNU <a
|
||||
href="http://www.gnu.org/software/autoconf/">autoconf</a> and <a
|
||||
href="http://www.gnu.org/software/automake/">automake</a> to generate
|
||||
a configure script, which in turn generates Makefiles and other files
|
||||
based on the system specifics it is run on. These are text
|
||||
based files, thus they should adhere to the <a
|
||||
href="fileConventions.html#textConventions">generic text-based
|
||||
conventions</a>.<br>
|
||||
<h1>Naming</h1>
|
||||
Autoconf configure files are named either <code>configure.ac</code>
|
||||
(for autoconf) or sometimes <code>configure.am</code> (for automake).<br>
|
||||
<h1>Structure</h1>
|
||||
Autoconf configure files are partitioned by using the following 80
|
||||
column
|
||||
wide partitioning comment:<br>
|
||||
<pre>dnl-----------------------------------------------------------------------------<br>dnl This is the title of the partition<br>dnl-----------------------------------------------------------------------------<br></pre>
|
||||
The file has the
|
||||
following mandatory structure:<br>
|
||||
<ul>
|
||||
<li>Header</li>
|
||||
<li>Additional sections+</li>
|
||||
</ul>
|
||||
<h2>Header</h2>
|
||||
The header holds all information mandated by the <a
|
||||
href="fileConventions.html#header">generic guidelines</a>, but
|
||||
starting with the autoconf comment sequence <code>dnl</code>. Note the
|
||||
80
|
||||
column wide partitioning delimiter enclosing the header.<br>
|
||||
<pre>dnl-----------------------------------------------------------------------------<br>dnl Copyright (c) 2004 Media Development Loan Fund<br>dnl<br>dnl This file is part of the Campcaster project.<br>dnl http://campcaster.campware.org/<br>dnl To report bugs, send an e-mail to bugs@campware.org<br>dnl<br>dnl Campcaster is free software; you can redistribute it and/or modify<br>dnl it under the terms of the GNU General Public License as published by<br>dnl the Free Software Foundation; either version 2 of the License, or<br>dnl (at your option) any later version.<br>dnl<br>dnl Campcaster is distributed in the hope that it will be useful,<br>dnl but WITHOUT ANY WARRANTY; without even the implied warranty of<br>dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>dnl GNU General Public License for more details.<br>dnl<br>dnl You should have received a copy of the GNU General Public License<br>dnl along with Campcaster; if not, write to the Free Software<br>dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br>dnl<br>dnl<br>dnl Author : $Author$<br>dnl Version : $Revision$<br>dnl Location : $URL$<br>dnl-----------------------------------------------------------------------------<br></pre>
|
||||
<h2>Additional sections</h2>
|
||||
Additional sections contain the autoconf configuration macro calls.
|
||||
Bigger
|
||||
parts of the file may be partitioned by the partitioning commend seen
|
||||
above.<br>
|
||||
<h1>Template</h1>
|
||||
See a generic <a href="templates/configure.ac">template
|
||||
for autoconf configurations</a>. You may freely copy this
|
||||
template when starting to create a new document.<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,228 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
|
||||
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<title>Build environment</title>
|
||||
<meta content="$Author$" name="author">
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
|
||||
|
||||
<h1>Preface</h1>
|
||||
|
||||
|
||||
This document is part of the <a href="http://livesupport.campware.org/">LiveSupport</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU <a href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
|
||||
|
||||
<ul>
|
||||
|
||||
|
||||
<li>Author: $Author$</li>
|
||||
|
||||
|
||||
<li>Version: $Revision$</li>
|
||||
|
||||
|
||||
<li>Location: $URL:
|
||||
svn+ssh://maroy@code.campware.org/home/svn/repo/livesupport/trunk/livesupport/doc/developmentEnvironment/buildEnvironment.html
|
||||
$<br>
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h1>Scope</h1>
|
||||
|
||||
|
||||
This document describes the build environment for components of the
|
||||
LiveSupport project.<br>
|
||||
|
||||
|
||||
<h1>Introduction</h1>
|
||||
|
||||
|
||||
As seen in the <a href="directoryStructure.html">directory structure</a>
|
||||
description, each component is contained in its own directory, and has
|
||||
the same general directory layout, which includes a <code>configure</code> script on the top
|
||||
of the directory. This script is responsible for gathering compilation and installation information, and for creating a <code>Makefile</code> in the top directory. All components are built by using <a href="http://www.gnu.org/directory/make.html">GNU make</a> working on
|
||||
that <code>Makefile</code>.<br>
|
||||
|
||||
<br>
|
||||
|
||||
This document describes details about the <code>configure</code> script, the targets for the generated <code>Makefile</code>, and related files involved with the installation of the component.<br>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
Parts of this document are inspired by the <a href="http://www.gnu.org/prep/standards.html">GNU Coding Standards</a>
|
||||
<a href="http://www.gnu.org/prep/standards_50.html">Makefile
|
||||
Conventions Standard targets</a>.<br>
|
||||
|
||||
|
||||
<h1>The <code>configure</code> script and generated files<br>
|
||||
|
||||
</h1>
|
||||
|
||||
<h2><code>configure</code> options</h2>
|
||||
|
||||
The <code>configure</code> script should honor the generic directory settings passed to it:<br>
|
||||
|
||||
<br>
|
||||
|
||||
<pre>Installation directories:<br> --prefix=PREFIX install architecture-independent files in PREFIX<br> [/usr/local]<br> --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX<br> [PREFIX]<br><br>Fine tuning of the installation directories:<br> --bindir=DIR user executables [EPREFIX/bin]<br> --sbindir=DIR system admin executables [EPREFIX/sbin]<br> --libexecdir=DIR program executables [EPREFIX/libexec]<br> --datadir=DIR read-only architecture-independent data [PREFIX/share]<br> --sysconfdir=DIR read-only single-machine data [PREFIX/etc]<br> --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]<br> --localstatedir=DIR modifiable single-machine data [PREFIX/var]<br> --libdir=DIR object code libraries [EPREFIX/lib]<br> --includedir=DIR C header files [PREFIX/include]<br> --oldincludedir=DIR C header files for non-gcc [/usr/include]<br> --infodir=DIR info documentation [PREFIX/info]<br> --mandir=DIR man documentation [PREFIX/man]<br></pre>
|
||||
|
||||
<br>
|
||||
|
||||
Other configuration-time options should be processed using <code>--with-XXX</code> arguments, using the <a href="http://www.gnu.org/software/autoconf/manual/autoconf-2.57/html_node/autoconf_130.html#IDX835"><code>AC_ARG_WITH</code></a> <code>autoconf</code> macro.<br>
|
||||
|
||||
<br>
|
||||
|
||||
Note: when writing <code>etc/configure.ac</code>, the input for the <code>configure</code> script, the <a href="http://autoconf-archive.cryp.to/">Autoconf Macro Archive</a> can provide quite useful.<br>
|
||||
|
||||
<br>
|
||||
|
||||
<h2>generated files</h2>
|
||||
|
||||
The main file generated by the <code>configure</code> script will the the <code>Makefile</code>. The input for the <code>Makefile</code>, <code>etc/Makefile.in</code>, can refer to the variables substituted by <code>configure</code> in the following way:<br>
|
||||
|
||||
<br>
|
||||
|
||||
<pre><code>prefix = @prefix@<br>some_other_var = @some_other_var@</code></pre>
|
||||
|
||||
<br>
|
||||
|
||||
Because these variables might need to be overwritten when running the <code>Makefile</code>, make sure to use the same name for the variable inside the <code>Makefile</code> as was used by the configure script (as in the above example). For example:<br>
|
||||
|
||||
<br>
|
||||
|
||||
<pre><code># these are wrong!<br>PREFIX = @prefix@<br>myvar = @some_other_var@<br><br># these are correct, and have the same desired effect:<br></code><code>prefix = @prefix@<br>some_other_var = @some_other_var@<br>PREFIX = ${prefix}<br>myvar = ${some_other_var}</code></pre>
|
||||
|
||||
<span style="font-weight: bold;"><br>
|
||||
|
||||
</span><span style="font-weight: bold;"></span>Using the same names will make it possible to overwrite the values substituted by <code>configure</code> when invoking the <code>Makefile</code>, for example:<br>
|
||||
|
||||
<br>
|
||||
|
||||
<pre><code>make prefix=/foo/bar install</code></pre>
|
||||
|
||||
<br>
|
||||
|
||||
will cause installation under the prefix <code>/foo/bar</code>, irrespective of the prefix supplied to <code>configure</code>.<br>
|
||||
|
||||
<span style="font-weight: bold;"></span><span style="font-weight: bold;"></span>
|
||||
<h1>Make targets<br>
|
||||
|
||||
|
||||
</h1>
|
||||
|
||||
|
||||
The following make targets are required for all components to support:<br>
|
||||
|
||||
|
||||
<ul>
|
||||
|
||||
|
||||
<li>all</li>
|
||||
|
||||
|
||||
<li>clean</li>
|
||||
|
||||
|
||||
<li>depclean</li>
|
||||
|
||||
|
||||
<li>doc<br>
|
||||
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
<li>dist</li>
|
||||
|
||||
|
||||
<li>check</li>
|
||||
|
||||
<li>install</li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h4>all</h4>
|
||||
|
||||
|
||||
Compile all source files for this component. As a result, the
|
||||
component is ready to be run (if an executable) or linked to (if a
|
||||
library).<br>
|
||||
|
||||
|
||||
This target traverses the dependent modules, and executes the all
|
||||
target on them, if their targets do not exist.<br>
|
||||
|
||||
|
||||
<h4>clean</h4>
|
||||
|
||||
|
||||
Delete all files generated by the all target, but only for this module
|
||||
(e..g. no files for dependent modules are deleted).<br>
|
||||
|
||||
|
||||
<h4>depclean</h4>
|
||||
|
||||
|
||||
Delete all the dependent target files. Executing the depclean target
|
||||
with an all target afterwards results in a full recompilation of all
|
||||
the dependent modules.<br>
|
||||
|
||||
|
||||
<h4>doc</h4>
|
||||
|
||||
|
||||
Generate the documentation for this component. This would include
|
||||
processing info pages, or using tools to generate documentation based
|
||||
on comments in the source code (like javadoc).<br>
|
||||
|
||||
|
||||
<h4>dist</h4>
|
||||
|
||||
|
||||
Create a distribution package for this component. This involves
|
||||
possibly compiling, document generation and other tasks, and results in
|
||||
an archive containing the distribution.<br>
|
||||
|
||||
|
||||
<h4>check</h4>
|
||||
|
||||
|
||||
Run all tests, especially unit tests, for the component. This usually
|
||||
results in a generated test-report.<br>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
<h4>install</h4>
|
||||
|
||||
Installs the component into the specified prefix. (See the <a href="installation.html">Installation</a> document for details.)<br>
|
||||
|
||||
<br>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,199 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
|
||||
<title>C++ header file conventions</title>
|
||||
<meta content="$Author$" name="author">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Preface</h1>
|
||||
This document is part of the <a href="http://campcaster.campware.org/">LiveSupport</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU <a
|
||||
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
<ul>
|
||||
<li>Author: $Author$</li>
|
||||
<li>Version: $Revision$</li>
|
||||
<li>Location: $URL$</li>
|
||||
</ul>
|
||||
<h1>Scope</h1>
|
||||
This document describes C++ header file conventions for the
|
||||
LiveSupport
|
||||
project. See also the generic description of the <a
|
||||
href="fileConventions.html">file
|
||||
conventions</a> in the LiveSupport
|
||||
project.<br>
|
||||
<h1>Introduction</h1>
|
||||
C++ header files are files containing declarations of structures,
|
||||
functions and classes, that may be shared among object files, by
|
||||
including them with the pre-processor directive <code>#include</code>
|
||||
in multiple source files. They are text
|
||||
based files, thus they should adhere to the <a
|
||||
href="fileConventions.html#textConventions">generic text-based
|
||||
conventions</a>.<br>
|
||||
<br>
|
||||
The LiveSupport project uses a strong object oriented approach. Part of
|
||||
this approach is to group declarations of classes into their own files:
|
||||
one header file and one source file for each class. Therefore each C++
|
||||
header file contains the declaration of exactly one C++ class, although
|
||||
inner types are defined in the same file.<br>
|
||||
<h1>Naming</h1>
|
||||
A C++ header files name reflects the class it is defining. Class names
|
||||
begin with a capital letter, followed by lower case letters. In case of
|
||||
a multiple word class name, the first letter of each word is
|
||||
capitalized. Example class names are <code>Foo</code> and <code>FooBar</code>.<br>
|
||||
<br>
|
||||
As the name of the header file reflects the name of the class defined
|
||||
in it, the header file will be named exactly as the class inside, with
|
||||
the <code>.h</code> extension. Thus a class named <code>Foo</code> is
|
||||
defined in
|
||||
the header file <code>Foo.h</code>, and the class named <code>SomeOtherLongNamedClass</code>
|
||||
is defined in the header file named <code>SomeOtherLongNamedClass.h</code>.<br>
|
||||
<h1>Structure</h1>
|
||||
C++ files are partitioned by using the following 80 column wide
|
||||
partitioning comment:<br>
|
||||
<pre>/* ==================================================== name of the partition */<br></pre>
|
||||
Note that the comment is always 80 columns wide, independent of the
|
||||
length of the text within.<br>
|
||||
<br>
|
||||
The file has the
|
||||
following mandatory structure:<br>
|
||||
<ul>
|
||||
<li>Header</li>
|
||||
<li>Include files & namespaces</li>
|
||||
<li>Constants</li>
|
||||
<li>Macros</li>
|
||||
<li>Data types</li>
|
||||
<li>External data signatures</li>
|
||||
<li>Function Prototypes</li>
|
||||
<li>Footer<br>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Header</h2>
|
||||
The header holds all information mandated by the <a
|
||||
href="fileConventions.html#header">generic guidelines</a>. It begins
|
||||
with the generic header information, enclosed in 80
|
||||
column wide partitioning delimiters.<br>
|
||||
<br>
|
||||
After this a macro definition follows, prohibiting the multiple time
|
||||
inclusion of the header file. The name of the header-identity macro is
|
||||
derived from the full name the file is expected to be included as. The
|
||||
macro name is formed by replacing all non-alphanumeric characters from
|
||||
the expected include definition with the '_' (underscore) character.
|
||||
For a header file that will be included with the line:<br>
|
||||
<pre><code>#include "Foo.h"</code><br></pre>
|
||||
the identity macro is defined as <code>Foo_h</code>. For a header file
|
||||
that is expected to be included as:<br>
|
||||
<pre><code>#include "LiveSupport/Foo/Bar.h"<br></code></pre>
|
||||
the identity macro is defined as <code>LiveSupport_Foo_Bar_h</code>.<br>
|
||||
<br>
|
||||
After the identity macro, a preprocessor check is performed to see if
|
||||
the file is being processessed by a C++ compiler (and say not a C
|
||||
compiler).<br>
|
||||
<h3>Sample</h3>
|
||||
A sample for a C++ header file header follows, where the file itself
|
||||
would be expected to be included as <code>"LiveSupport/Foo/Bar.h"</code>.<br>
|
||||
<br>
|
||||
<pre>/*------------------------------------------------------------------------------<br><br> Copyright (c) 2004 Media Development Loan Fund<br> <br> This file is part of the Campcaster project.<br> http://campcaster.campware.org/<br> To report bugs, send an e-mail to bugs@campware.org<br> <br> Campcaster is free software; you can redistribute it and/or modify<br> it under the terms of the GNU General Public License as published by<br> the Free Software Foundation; either version 2 of the License, or<br> (at your option) any later version.<br> <br> Campcaster is distributed in the hope that it will be useful,<br> but WITHOUT ANY WARRANTY; without even the implied warranty of<br> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br> GNU General Public License for more details.<br> <br> You should have received a copy of the GNU General Public License<br> along with Campcaster; if not, write to the Free Software<br> Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br> <br> <br> Author : $Author$<br> Version : $Revision$<br> Location : $URL$<br> <br>------------------------------------------------------------------------------*/<br>#ifndef LiveSupport_Foo_Bar_h<br>#define LiveSupport_Foo_Bar_h<br> <br>#ifndef __cplusplus<br>#error This is a C++ include file<br>#endif<br><br></pre>
|
||||
<h2>Include files & namespace <br>
|
||||
</h2>
|
||||
This section contains all the include files that the header file needs
|
||||
to include, plus namespace declarations. The include files are listed
|
||||
in a most generic to most specific order: firts system include files,
|
||||
then other LiveSupport module include files, and finnally include files
|
||||
from the same module / product are listed.<br>
|
||||
<br>
|
||||
After the includes, namespace definitions follow. Each LiveSupport
|
||||
object is contained in its own namespace inside the <code>LiveSupport</code>
|
||||
namespace, thus this is a nested namespace declaration.<br>
|
||||
<br>
|
||||
After the namespace declarations, the namespaces used within the
|
||||
include file itself are listed with <code>using namespace</code>
|
||||
clauses. Note that the <code>using namespace</code> clauses are
|
||||
strictly within the namespace declaration clauses, so that they only
|
||||
take effect within the header file, but not afterwards.<br>
|
||||
<h3>Sample</h3>
|
||||
A sample include files & namespaces section follows.<br>
|
||||
<pre>/* =============================================== include files & namespaces */<br><br>#ifdef HAVE_CONFIG_H<br>#include "configure.h"<br>#endif<br><br>#if HAVE_STDLIB_H<br>#include <stdlib.h><br>#else<br>#error need stdlib.h<br>#endif<br><br>#include <string><br><br><br>namespace LiveSupport {<br>namespace Foo {<br><br>using namespace LiveSupport::Core;<br><br></pre>
|
||||
<h2>Constants</h2>
|
||||
The constants section contains static constant values defined in the
|
||||
header file.
|
||||
Nowhere in the header file may be other static constants defined. This
|
||||
section is
|
||||
rarely used, as static constants outside classes are discurraged,<br>
|
||||
<h3>Sample</h3>
|
||||
A sample constants section follows.<br>
|
||||
<pre>/* ================================================================ constants */<br><br>/**<br> * The contant value of foo bar.<br> */<br>static const int fooBarConst;<br></pre>
|
||||
<h2>Macros</h2>
|
||||
The macros section contains any macros defined in the header file.
|
||||
Nowhere in the header file may be other macros defined. This section is
|
||||
rarely used, as macros are discurraged,<br>
|
||||
<h3>Sample</h3>
|
||||
A sample macros section follows.<br>
|
||||
<pre>/* =================================================================== macros */<br><br>/**<br> * Some very important macro.<br> */<br>#define SOME_MACRO "some macro"<br></pre>
|
||||
<h2>Data types</h2>
|
||||
This section contains the data type definitions of the header file,
|
||||
most notable the definition of the class this header file is named
|
||||
after.<br>
|
||||
<br>
|
||||
The class itself and all its members (including private members) are
|
||||
described by <a href="http://www.doxygen.org/">doxygen</a> comments.
|
||||
The Java style of commenting is to be used. For the comment
|
||||
describing the entire class, the <code>@author</code> and <code>@version</code>
|
||||
tags are mandatory. For each member function, all parameters, the
|
||||
return value and all possibly thrown exceptions are to be documented.<br>
|
||||
<br>
|
||||
The class lists its members in the following order:<br>
|
||||
<ul>
|
||||
<li>private</li>
|
||||
<li>protected</li>
|
||||
<li>public</li>
|
||||
</ul>
|
||||
Within each of the above blocks, the order is the following:<br>
|
||||
<ul>
|
||||
<li>static data members</li>
|
||||
<li>dynamic data members</li>
|
||||
<li>constructors</li>
|
||||
<li>destructor</li>
|
||||
<li>static functions</li>
|
||||
<li>dynamic functions</li>
|
||||
</ul>
|
||||
For proper indentation of the above blocks, see the example below.<br>
|
||||
<h3>Sample</h3>
|
||||
A sample data types section follows.<br>
|
||||
<pre>/* =============================================================== data types */<br><br>/**<br> * Hello class.<br> * The only purpose of this class is to say hello.<br> *<br> * @author $Author$<br> * @version $Revision$<br> */<br>class Hello<br>{<br> private:<br> /**<br> * Our famous hello string.<br> */<br> static const std::string helloWorld;<br><br> public:<br> /**<br> * Default constructor.<br> */<br> Hello (void) throw ()<br> {<br> }<br><br> /**<br> * Say hello.<br> *<br> * @return the string "Hello, World!"<br> * @exception std::exception on problems<br> */<br> const std::string<br> hello (void) throw (std::exception)<br> {<br> return helloWorld;<br> }<br>};<br><br></pre>
|
||||
<h2>External data structures<br>
|
||||
</h2>
|
||||
The external data structures section contains any external data
|
||||
definitions needed by the header file, that may be defined externally.
|
||||
Nowhere in the header file may other external data definitions exist.
|
||||
This section is
|
||||
rarely used, as external data definitions are discouraged.<br>
|
||||
<h3>Sample</h3>
|
||||
A sample external data structures section follows.<br>
|
||||
<pre>/* ================================================= external data structures */<br><br>/**<br> * An externally defined data, which the linker will find.<br> */<br>extern int fooBarInt;<br><br></pre>
|
||||
<h2>Function prototypes<br>
|
||||
</h2>
|
||||
The function prototypes section contains any function prototypes
|
||||
defined by the header file, that are not members of classes.
|
||||
Nowhere in the header file may other such definitions exist.
|
||||
This section is seldom used, as functions outside classes are
|
||||
discouraged.<br>
|
||||
<h3>Sample</h3>
|
||||
A sample function prototypes section follows.<br>
|
||||
<pre>/* ====================================================== function prototypes */<br><br>/**<br> * An important foo function.<br> *<br> * @return the result of foo.<br> */<br>int foo(void) throw ();<br></pre>
|
||||
<h2>Footer</h2>
|
||||
The footer of the header file closes the namespace brackets opened in
|
||||
the include files & namespaces section, and also ends the header
|
||||
identity macro #ifdef section opened in the header.<br>
|
||||
<h3>Sample</h3>
|
||||
A sample footer section follows.<br>
|
||||
<br>
|
||||
<pre>} // namespace Foo<br>} // namespace LiveSupport<br><br>#endif // LiveSupport_Foo_Bar_h<br></pre>
|
||||
<h1>Template</h1>
|
||||
See a <a href="templates/Bar.h">template
|
||||
C++ header file</a>. You may freely copy this
|
||||
template when starting to create a new header file.<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,150 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
|
||||
<title>C++ source file conventions</title>
|
||||
<meta content="$Author$" name="author">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Preface</h1>
|
||||
This document is part of the <a href="http://campcaster.campware.org/">LiveSupport</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU <a
|
||||
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
<ul>
|
||||
<li>Author: $Author$</li>
|
||||
<li>Version: $Revision$</li>
|
||||
<li>Location: $URL$</li>
|
||||
</ul>
|
||||
<h1>Scope</h1>
|
||||
This document describes C++ source file conventions for the
|
||||
LiveSupport
|
||||
project. See also the generic description of the <a
|
||||
href="fileConventions.html">file
|
||||
conventions</a> in the LiveSupport
|
||||
project.<br>
|
||||
<h1>Introduction</h1>
|
||||
C++ source files are files containing implementations of functions and
|
||||
definitions of static data. They are text
|
||||
based files, thus they should adhere to the <a
|
||||
href="fileConventions.html#textConventions">generic text-based
|
||||
conventions</a>.<br>
|
||||
<br>
|
||||
The LiveSupport project uses a strong object oriented approach. Part of
|
||||
this approach is to group implementations of classes into their own
|
||||
files: one header file and one source file for each class. Therefore
|
||||
each C++ source file contains implementation of exactly one C++ class,
|
||||
although static (local) functions may be defined as well.<br>
|
||||
<h1>Naming</h1>
|
||||
A C++ source files name reflects the class it is implementing. Class
|
||||
names begin with a capital letter, followed by lower case letters. In
|
||||
case of a multiple word class name, the first letter of each word is
|
||||
capitalized. Example class names are <code>Foo</code> and <code>FooBar</code>.<br>
|
||||
<br>
|
||||
As the name of the source file reflects the name of the class it
|
||||
implements, the source file will be named exactly as the class inside,
|
||||
with the <code>.cxx</code> extension. Thus a class named <code>Foo</code>
|
||||
is implemented in the source file <code>Foo.cxx</code>, and the class
|
||||
named <code>SomeOtherLongNamedClass</code> is implemented in the
|
||||
source file named <code>SomeOtherLongNamedClass.cxx</code>.<br>
|
||||
<h1>Structure</h1>
|
||||
C++ files are partitioned by using the following 80 column wide
|
||||
partitioning comment:<br>
|
||||
<pre>/* ==================================================== name of the partition */<br></pre>
|
||||
Note that the comment is always 80 columns wide, independent of the
|
||||
length of the text within.<br>
|
||||
<br>
|
||||
Local data type definitions and function prototypes required
|
||||
doxygen-style commenting.<br>
|
||||
<br>
|
||||
Function implementations and static data definitions were already
|
||||
commented for doxygen at their place of declaration. Therefore these
|
||||
are preceded by the following simple comment header.<br>
|
||||
<pre>/*------------------------------------------------------------------------------<br> * Function implementation below.<br> *----------------------------------------------------------------------------*/<br></pre>
|
||||
<br>
|
||||
The file has the
|
||||
following mandatory structure:<br>
|
||||
<ul>
|
||||
<li>Header</li>
|
||||
<li>Include files & namespaces</li>
|
||||
<li>Local data structures<br>
|
||||
</li>
|
||||
<li>Local constants & macros<br>
|
||||
</li>
|
||||
<li>Local function prototypes<br>
|
||||
</li>
|
||||
<li>Module code<br>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Header</h2>
|
||||
The header holds all information mandated by the <a
|
||||
href="fileConventions.html#header">generic guidelines</a>. It contains
|
||||
with the generic header information, enclosed in 80
|
||||
column wide partitioning delimiters.<br>
|
||||
<h3>Sample</h3>
|
||||
A sample for a C++ source file header follows.<br>
|
||||
<pre>/*------------------------------------------------------------------------------<br><br> Copyright (c) 2004 Media Development Loan Fund<br> <br> This file is part of the Campcaster project.<br> http://campcaster.campware.org/<br> To report bugs, send an e-mail to bugs@campware.org<br> <br> Campcaster is free software; you can redistribute it and/or modify<br> it under the terms of the GNU General Public License as published by<br> the Free Software Foundation; either version 2 of the License, or<br> (at your option) any later version.<br> <br> Campcaster is distributed in the hope that it will be useful,<br> but WITHOUT ANY WARRANTY; without even the implied warranty of<br> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br> GNU General Public License for more details.<br> <br> You should have received a copy of the GNU General Public License<br> along with Campcaster; if not, write to the Free Software<br> Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br> <br> <br> Author : $Author$<br> Version : $Revision$<br> Location : $URL$<br> <br>------------------------------------------------------------------------------*/<br><br></pre>
|
||||
<h2>Include files & namespaces <br>
|
||||
</h2>
|
||||
This section contains all the include files that the source file needs
|
||||
to include, plus namespace references. The include files are listed in
|
||||
a most generic to most specific order: first system include files, then
|
||||
other LiveSupport module include files, and finally include files from
|
||||
the same module / product are listed. The last one is the header file
|
||||
for the class this source file implements.<br>
|
||||
<br>
|
||||
After the includes, the namespaces used within the source file itself
|
||||
are listed with <code>using namespace</code> clauses. The order of the
|
||||
<code>using namespace</code> declarations is also from most generic to
|
||||
most specific, the last one being the namespace of the class this
|
||||
source file implements.<br>
|
||||
<h3>Sample</h3>
|
||||
A sample include files & namespaces section follows.<br>
|
||||
<pre>/* =============================================== include files & namespaces */<br><br>#ifdef HAVE_CONFIG_H<br>#include "configure.h"<br>#endif<br><br>#if HAVE_STDLIB_H<br>#include <stdlib.h><br>#else<br>#error need stdlib.h<br>#endif<br><br>#include <string><br><br>#include <LiveSupport/Foo/Bar.h><br><br><br>using namespace LiveSupport::Core;<br>using namespace LiveSupport::Foo;<br><br></pre>
|
||||
<h2>Local data structures<br>
|
||||
</h2>
|
||||
The constants section contains locally defined data structures, that
|
||||
are not used anywhere outside this source file.
|
||||
Nowhere in the source file may be other data structure definitions.
|
||||
This section is
|
||||
rarely used, as reusable data structures are encouraged.<br>
|
||||
<h3>Sample</h3>
|
||||
A sample local data structures section follows.<br>
|
||||
<pre>/* =================================================== local data structures */<br><br>/**<br> * The union of foo.<br> */<br>union foo {<br> int foo;<br> long bar;<br>};<br></pre>
|
||||
<h2>Local constants & macros</h2>
|
||||
The local constants & macros section contains any macros and
|
||||
constant values used in this source file. It also contains the
|
||||
definitions for constant values of the class this source file
|
||||
implements. Nowhere in the source file may be other macros or constants
|
||||
defined.<br>
|
||||
<br>
|
||||
Having local constants is discouraged. Have private static class
|
||||
members instead.<br>
|
||||
<h3>Sample</h3>
|
||||
A sample local constants & macros section follows.<br>
|
||||
<pre>/* ================================================ local constants & macros */<br><br>/*------------------------------------------------------------------------------<br> * The famous foo string for the class Bar.<br> *----------------------------------------------------------------------------*/<br>const std::string Bar::fooStr = "foo";<br><br></pre>
|
||||
<h2>Local function prototypes<br>
|
||||
</h2>
|
||||
This section contains the prototypes for local functions, which are
|
||||
only used in this source file. Nowhere else in the source file may
|
||||
function prototypes be other than in this section. This section is
|
||||
rarely used, local functions are discouraged. Use private class member
|
||||
functions instead.<br>
|
||||
<h3>Sample</h3>
|
||||
A sample local function prototypes section follows.<br>
|
||||
<pre>/* =============================================== local function prototypes */<br><br>/**<br> * Some local function.<br> *<br> * @param parameter some parameter<br> * @return a very big return value.<br> */<br>int<br>localFunction(int parameter) throw ();<br><br></pre>
|
||||
<h2>Module code<br>
|
||||
</h2>
|
||||
This section contains the implementation for the class it is made for.
|
||||
Also contains the implementation for all local functions. The
|
||||
implementation order is not defined.<br>
|
||||
<h3>Sample</h3>
|
||||
A sample module code section follows.<br>
|
||||
<pre>/* ============================================================= module code */<br><br>/*------------------------------------------------------------------------------<br> * Return the famous bar string.<br> *----------------------------------------------------------------------------*/<br>const std::string<br>Bar :: sayBar(void) throw (std::exception)<br>{<br> if (barInt) {<br> throw std::exception();<br> }<br><br> return barStr;<br>}<br><br></pre>
|
||||
<h1>Template</h1>
|
||||
See a <a href="templates/Bar.cxx">template
|
||||
C++ source file</a>. You may freely copy this
|
||||
template when starting to create a new source file.<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,250 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
|
||||
|
||||
|
||||
|
||||
<title>Directory structure</title>
|
||||
<meta content="$Author$" name="author">
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
|
||||
<h1>Preface</h1>
|
||||
|
||||
This document is part of the <a href="http://livesupport.campware.org/">LiveSupport</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU <a href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>Author: $Author$</li>
|
||||
|
||||
<li>Version: $Revision$</li>
|
||||
|
||||
<li>Location: $URL:
|
||||
svn+ssh://maroy@code.campware.org/home/svn/repo/livesupport/trunk/livesupport/doc/developmentEnvironment/directoryStructure.html
|
||||
$<br>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h1>Scope</h1>
|
||||
|
||||
This document describes the directory structure used for all component
|
||||
of the LiveSupport project.<br>
|
||||
|
||||
<h1>Introduction</h1>
|
||||
|
||||
It is important to define a common and uniform directory structure in
|
||||
order to allow more seamless cooperation between participants of the
|
||||
project. It also helps referencing the various components (modules,
|
||||
etc.), as all the components will have a predictable and stable file
|
||||
hierarchy.<br>
|
||||
|
||||
<br>
|
||||
|
||||
As seen below, the main inspiration for each components directory
|
||||
structure is the <a href="http://www.pathname.com/fhs/">Filesystem
|
||||
Hierarchy Standard</a>.<br>
|
||||
|
||||
<h1>Overall structure</h1>
|
||||
|
||||
The base livesupport directory contains all the special tools needed to
|
||||
build, test and run LiveSupport, along with all the source code that
|
||||
constitutes LiveSupport itself.<br>
|
||||
|
||||
<br>
|
||||
|
||||
The self written part of LiveSupport project consists of re-usable
|
||||
modules, and products.
|
||||
Modules are components that do not execute by themselves, but have a
|
||||
useful, preferably generic functionality. Products are the executable
|
||||
components that are actually run by users.<br>
|
||||
|
||||
<br>
|
||||
|
||||
Both modules and products may reference (depend on) other modules, but
|
||||
circular reference is not allowed.<br>
|
||||
|
||||
<br>
|
||||
|
||||
Other needed parts of the directory structure are involved with
|
||||
external libraries LiveSupport depends on, and a running environment
|
||||
where LiveSupport can run.<br>
|
||||
|
||||
<br>
|
||||
|
||||
The directory structure is organized in the following way:<br>
|
||||
|
||||
<br>
|
||||
|
||||
<code></code>
|
||||
<pre>livesupport<br>|-- configure<br>|-- bin<br>|-- doc<br>|-- etc<br>|-- src<br>| |-- modules<br>| | |-- module1<br>| | |-- module2<br>| ...<br>| | `-- moduleN<br>| |-- products<br>| | |-- product1<br>| | |-- product2<br>| | ...<br>| | `-- productN<br>| `-- tools<br>| |-- tool1<br>| |-- tool2<br>| ...<br>| `-- tool3<br>|-- tmp<br>|-- usr<br>`-- var<br></pre>
|
||||
|
||||
<br>
|
||||
|
||||
<h2>Referencing modules and the running environment<br>
|
||||
|
||||
</h2>
|
||||
|
||||
As a consequence of the directory structure above, if a module is
|
||||
referencing an other (e.g. moduleX), than it can be sure that it is
|
||||
located at <code>../moduleX</code>. If a product is referencing the
|
||||
same module, it can be sure that it is located at <code>../../modules/moduleX</code>.<br>
|
||||
|
||||
<br>
|
||||
|
||||
Furthermore, if a module or product is referencing the running
|
||||
environment under <code>livesupport/usr</code>, it can also be sure
|
||||
that it is located at <code>../../../usr</code> from either the module or
|
||||
the product directory.<br>
|
||||
|
||||
<br>
|
||||
|
||||
Referencing always means exactly that: no contents are copied from one
|
||||
module directory to an other. For example for a module or product to
|
||||
reference the shared libraries of moduleX means to do exactly that:
|
||||
link to the library <code>../../modules/moduleX/lib/libmoduleX.so</code>.<br>
|
||||
<br>
|
||||
Please note that the above relative reference are valid in the build
|
||||
environment only! After a module or product is installed, it can make
|
||||
no assumptions on the relative locations of other components.<br>
|
||||
|
||||
<h1>Top-level configure script</h1>
|
||||
|
||||
The top-level <code>configure</code> script takes care of <a href="http://www.gnu.org/software/autoconf/">autoconf</a>-style configuring the whole LiveSupport project. This involves running <code>configure</code> in all tool, module and product directories, and creating a top-level <code>Makefile</code>.<br>
|
||||
<br>
|
||||
The configure script is expected to run autoconf in case the
|
||||
autoconf-style environment has not yet been set up. This typically
|
||||
involves executing an autogen.sh script from the bin directory.<br>
|
||||
|
||||
<br>
|
||||
|
||||
<h1>Documentation directory</h1>
|
||||
|
||||
The doc directory contains generic documentation with respect to the
|
||||
whole LiveSupport project. Documentation pertaining to a module or
|
||||
products should go under the modules' or products' directory,
|
||||
respectively.<br>
|
||||
|
||||
<h1>Configuration files</h1>
|
||||
|
||||
Under the <code>etc</code> directory project-wide configuration files
|
||||
are found, like the ones used by the top-level configure script. This
|
||||
typically involves having autoconf sources (configure.ac,
|
||||
acinlcude.m4), and the input for the top-level Makefile (Makefile.in).<br>
|
||||
|
||||
<h1>Module structure</h1>
|
||||
|
||||
Each module has the same directory structure, which is as follows:<br>
|
||||
|
||||
<br>
|
||||
|
||||
<pre>moduleX<br>|-- configure<br>|-- bin<br>|-- etc<br>|-- include<br>| `-- LiveSupport<br>| `-- ModuleX<br>|-- lib<br>|-- src<br>|-- tmp<br>`-- var<br></pre>
|
||||
|
||||
<h4>configure</h4>
|
||||
|
||||
An <a href="http://www.gnu.org/software/autoconf/">autoconf</a>-style configure script. See the <a href="buildEnvironment.html">build environment</a> document for a
|
||||
detailed description.<br>
|
||||
|
||||
<h4>bin</h4>
|
||||
|
||||
Directory containing all executables.<br>
|
||||
|
||||
<h4>etc</h4>
|
||||
|
||||
All configuration files go here.<br>
|
||||
|
||||
<h4>include</h4>
|
||||
|
||||
The public C/C++ header files for this module. The include files are
|
||||
stored in a subdirectory that completely replicates the namespacing of
|
||||
the module itself, in a case-sensitive manner. Thus a header file name <code>Foo.h</code>
|
||||
for <code>ModuleX</code> would be contained in the directory <code>include/LiveSupport/ModuleX/Foo.h</code>,
|
||||
and would be included with the line:<br>
|
||||
|
||||
<br>
|
||||
|
||||
<pre>#include "LiveSupport/ModuleX/Foo.h"<br></pre>
|
||||
|
||||
<h4>lib</h4>
|
||||
|
||||
Directory containing all shared and static libraries that are generated
|
||||
by building the module. All external, third-party libraries used by
|
||||
this module should be installed into the <code>../../../usr/lib</code>
|
||||
directory. The libraries are named resembling the full namespacing of
|
||||
the module, but all lower cased. For example, the library for moduleX
|
||||
would be named <code>liblivesupport_modulex.so</code>, and thus would
|
||||
be linked to with the linker option <code>-L../../modules/moduleX/lib
|
||||
-llivesupport_modulex</code>.<br>
|
||||
|
||||
<h4>src</h4>
|
||||
|
||||
Contains all source files. A source file is a file which is processed
|
||||
(compiled, etc.) by the build process, and as a result some target
|
||||
files are generated from it.<br>
|
||||
|
||||
<h4>tmp</h4>
|
||||
|
||||
A temporary directory, holding temporary files used by the build
|
||||
process. This directory either does not exist in the configuration
|
||||
management system, or is empty there.<br>
|
||||
|
||||
<h4>var</h4>
|
||||
|
||||
Directory containing data. This can range from XML data to HTML pages
|
||||
to all other files that are not source files (are not processed by the
|
||||
build process). Note that web-page scripting files like PHP files also
|
||||
fall into this category.<br>
|
||||
|
||||
<h1>Product structure</h1>
|
||||
|
||||
The directory structure for a product is in essence the same as for
|
||||
modules, described above, with the difference that products don't have
|
||||
externally visible include files, thus their directories don't contain
|
||||
an <code>include</code> directory.<br>
|
||||
|
||||
<h1>Tools structure</h1>
|
||||
|
||||
The tools directory is an archive of tools and external libraries used
|
||||
for either building or running the LiveSupport system. These tools are
|
||||
installable to the usr directory of the LiveSupport directory tree.<br>
|
||||
|
||||
Each tool has its own directory, where several versions of the same
|
||||
tool may reside. Thus the generic directory structure is as follows:<br>
|
||||
|
||||
<pre>tools<br>|-- tool1<br>| |-- tool1-X<br>| |-- tool1-Y<br>| ...<br>| `-- tool1-Z<br> ...<br>`-- toolN<br> |-- toolN-A<br> |-- toolN-B<br> ...<br> `-- toolN-C<br></pre>
|
||||
|
||||
Thus a user can select version X of toolK to be installed by selecting
|
||||
the directory <code>tools/toolK/toolK-X</code>. Each tool directory
|
||||
has the following structure:<br>
|
||||
|
||||
<pre>toolK-X<br>|-- configure<br>|-- bin<br>|-- etc<br>|-- src<br>| `-- toolK-X.tar.gz<br>`-- tmp<br></pre>
|
||||
|
||||
The <code>configure</code> script is an autoconf-style configure script that creates a <code>Makefile</code> in the tool directory, reflecting typical configuration settings like <code>--prefix</code>.
|
||||
Executing make install in the tool directory will result in the
|
||||
compilation and installation of the specific tool into the specified <code>${prefix}</code>. <br>
|
||||
<br>
|
||||
In case the source needs to patched before compilation, the patches may
|
||||
be contained in the <code>etc</code> directory.<br>
|
||||
|
||||
<h1>usr structure</h1>
|
||||
|
||||
The usr directory is similar to the /usr system directory on UNIX
|
||||
systems (see the <a href="http://www.pathname.com/fhs/">Filesystem
|
||||
Hierarchy Standard</a>). This directory contains all the external tools
|
||||
needed by either developing or running the LiveSupport system. This
|
||||
directory is separate from the system /usr directory in order to
|
||||
facilitate changing the configuration for LiveSupport related libraries
|
||||
and tools in user space.<br>
|
||||
|
||||
<br>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,118 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8"
|
||||
http-equiv="content-type">
|
||||
<title>File Conventions</title>
|
||||
<meta content="$Author$" name="author">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Preface</h1>
|
||||
This document is part of the <a href="http://campcaster.campware.org/">LiveSupport</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU <a
|
||||
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
<ul>
|
||||
<li>Author: $Author$</li>
|
||||
<li>Version: $Revision$</li>
|
||||
<li>Location: $URL$</li>
|
||||
</ul>
|
||||
<h1>Scope</h1>
|
||||
This document describes the conventions used for files in the
|
||||
LiveSupport project.<br>
|
||||
<h1>Introduction</h1>
|
||||
To facilitate cooperation between multiple contributors, it is
|
||||
advisable to have common file conventions, so as the result of
|
||||
different peoples work have a uniform look and form. This document
|
||||
lists the file conventions for the different file formats used by the
|
||||
project.<br>
|
||||
<br>
|
||||
Where the description of the conventions is ambiguous, the examples
|
||||
given are binding, and are to be followed.<br>
|
||||
<h1>Generic conventions</h1>
|
||||
In general, all documents have the following structure:<br>
|
||||
<ul>
|
||||
<li>header</li>
|
||||
<li>partition1</li>
|
||||
<li>partition2</li>
|
||||
<li>...</li>
|
||||
<li>partitionN</li>
|
||||
</ul>
|
||||
<h2><a name="header"></a>header<br>
|
||||
</h2>
|
||||
The header of the file holds:<br>
|
||||
<ul>
|
||||
<li>a reference to the LiveSupport project itself</li>
|
||||
<li>copyright information</li>
|
||||
<li>reference to the license of the file</li>
|
||||
<li>the latest author of the file</li>
|
||||
<li>the current version of the file</li>
|
||||
<li>the full location of the file in the configuration management
|
||||
system<br>
|
||||
</li>
|
||||
</ul>
|
||||
Following the GNU GPL <a
|
||||
href="http://www.gnu.org/licenses/gpl.html#SEC4">guidelines</a> on
|
||||
applying a license term to source files, the typical header for a text
|
||||
file looks like the following:<br>
|
||||
<br>
|
||||
<pre><code> Copyright (c) 2004 Media Development Loan Fund<br> <br> This file is part of the Campcaster project.<br> http://campcaster.campware.org/<br> To report bugs, send an e-mail to bugs@campware.org<br> <br> Campcaster is free software; you can redistribute it and/or modify<br> it under the terms of the GNU General Public License as published by<br> the Free Software Foundation; either version 2 of the License, or<br> (at your option) any later version.<br> <br> Campcaster is distributed in the hope that it will be useful,<br> but WITHOUT ANY WARRANTY; without even the implied warranty of<br> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br> GNU General Public License for more details.<br> <br> You should have received a copy of the GNU General Public License<br> along with Campcaster; if not, write to the Free Software<br> Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br> <br> <br> Author : $Author$<br> Version : $Revision$<br> Location : $URL$<br></code><br></pre>
|
||||
Note the CVS keywords (as an example) for having up-to-date information
|
||||
on the author, version and location of the file.<br>
|
||||
<h2>partitions</h2>
|
||||
Each file is split into separate partitions, and maintains its
|
||||
structure with the fixed sequence of these partitions. File formats
|
||||
differ heavily on the capabilities of defining partitions - some have
|
||||
explicit support (like HTML with headers and paragraphs), while in some
|
||||
the commenting feature can be used to visually split up the file (like
|
||||
comments in source code).<br>
|
||||
<br>
|
||||
The exact nature and sequence of the partitions is dependent on the
|
||||
nature of the file itself.<br>
|
||||
<h2><a name="textConventions"></a>Generic text-based conventions</h2>
|
||||
The majority (if not) all sources files are text-based. As a general
|
||||
rule, text-based files adhere to the following conventions in the
|
||||
LiveSupport project:<br>
|
||||
<h3>UTF-8</h3>
|
||||
Whenever possible, the text files should be saved in the <a
|
||||
href="http://www.unicode.org/glossary/#UTF_8">UTF-8</a> character
|
||||
encoding, to enable all characters within covered by the Unicode
|
||||
character set.<br>
|
||||
<h3>80 columns</h3>
|
||||
Don't exceed 80 columns for any line in the file, unless it's
|
||||
absolutely necessary (like having a single expression over 80 columns
|
||||
that can not be broken up by a new-line character).<br>
|
||||
<h3>no tabs - 4 spaces</h3>
|
||||
Don't use the tab character in text files - use 4 spaces instead for
|
||||
indentation.<br>
|
||||
<h1>Specific conventions</h1>
|
||||
For specific file conventions, see the separate descriptions below.<br>
|
||||
<h2>html</h2>
|
||||
<a href="htmlFileConventions.html">convention</a> and <a
|
||||
href="templates/htmlDocumentTemplate.html">template</a>.<br>
|
||||
<h2>shell scripts</h2>
|
||||
<a href="shellScriptConventions.html">convention</a> and <a
|
||||
href="templates/shellScriptTemplate.sh">template</a>.<br>
|
||||
<h2>Makefiles</h2>
|
||||
<a href="makefileConventions.html">convention</a> and <a
|
||||
href="templates/Makefile">template</a>.<br>
|
||||
<h2>Autoconf configure files<br>
|
||||
</h2>
|
||||
<a href="autoconfConfigureConventions.html">convention</a> and <a
|
||||
href="templates/configure.ac">template</a>.<br>
|
||||
<h2>C++ files</h2>
|
||||
There are specific conventions for the header files and the source
|
||||
files.<br>
|
||||
<h3>C++ header files</h3>
|
||||
<a href="cxxHeaderFileConventions.html">convention</a> and <a
|
||||
href="templates/Bar.h">template</a>.<br>
|
||||
<h3>C++ source files</h3>
|
||||
<a href="cxxSourceFileConventions.html">convention</a> and <a
|
||||
href="templates/Bar.cxx">template</a>.<br>
|
||||
<h2>PHP scripts</h2>
|
||||
<a href="phpFileConventions.html">convention</a> and <a
|
||||
href="templates/phpScriptTemplate.phps">template</a>
|
||||
(<a href="templates/phpScriptTemplate.php.txt">downlodable version</a>).<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,93 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8"
|
||||
http-equiv="content-type">
|
||||
<title>HTML file conventions</title>
|
||||
<meta content="$Author$" name="author">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Preface</h1>
|
||||
This document is part of the <a href="http://livesupport.campware.org/">LiveSupport</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU <a
|
||||
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
<ul>
|
||||
<li>Author: $Author$</li>
|
||||
<li>Version: $Revision$</li>
|
||||
<li>Location: $URL$</li>
|
||||
</ul>
|
||||
<h1>Scope</h1>
|
||||
This document describes the HTML file conventions for the LiveSupport
|
||||
project. See also the generic description of the <a
|
||||
href="fileConventions.html">file conventions</a> in the LiveSupport
|
||||
project.<br>
|
||||
<h1>Introduction</h1>
|
||||
HTML pages written as part of the LiveSupport documentation should
|
||||
conform to either the <a href="http://www.w3.org/TR/html4/">HTML 4.01
|
||||
Transitional</a> or <a href="http://www.w3.org/TR/xhtml1/">XHTML 1.0
|
||||
Transitional</a> specifications.<br>
|
||||
<h1>Naming</h1>
|
||||
HTML document files are named by the following rules:<br>
|
||||
<ul>
|
||||
<li>there are no spaces in the file name</li>
|
||||
<li>the file name begins with a lower case letter</li>
|
||||
<li>for file names containing multiple words, each additional word
|
||||
begins with a capital letter</li>
|
||||
<li>the extension of the file is <code>.html</code> (not <code>.htm</code>)<br>
|
||||
</li>
|
||||
</ul>
|
||||
For example, a file with a single-word name may be named like: <code>single.html</code>,
|
||||
whereas a file with multiple word name would be like: <code>multipleWordNameFile.html</code>.<br>
|
||||
<h1>Structure</h1>
|
||||
Each HTML file is partitioned by using the <code><h1></code>
|
||||
element to mark the start and name of each partition. The file has the
|
||||
following mandatory structure:<br>
|
||||
<ul>
|
||||
<li>Preface</li>
|
||||
<li>Scope</li>
|
||||
<li>Introduction?</li>
|
||||
<li>Additional sections+</li>
|
||||
</ul>
|
||||
<h2>HTML header</h2>
|
||||
The HTML header of the document should describe the title and author of
|
||||
the document. The following HTML code should be inside the <code><head></code>
|
||||
element for the HTML page:<br>
|
||||
<br>
|
||||
<pre><code> <title>The title of the file</title><br> <meta name="author" content="$Author$"/><br></code></pre>
|
||||
<h2>The Preface section</h2>
|
||||
This section holds the following specific text:<br>
|
||||
<br>
|
||||
<blockquote>This document is part of the <a
|
||||
href="http://livesupport.campware.org/">LiveSupport</a> project,
|
||||
Copyright © 2004 <a href="http://www.mdlf.org/">Media Development Loan
|
||||
Fund</a>, under the GNU <a href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
<ul>
|
||||
<li>Author: $Author$</li>
|
||||
<li>Version: $Revision$</li>
|
||||
<li>Location: $URL$</li>
|
||||
</ul>
|
||||
</blockquote>
|
||||
<h2>The Scope section</h2>
|
||||
This section describes the scope of the document in short form. This
|
||||
details the areas which the document covers, and sometimes holds
|
||||
references to related documents.<br>
|
||||
<h2>The Introductions section</h2>
|
||||
This optional section introduces the topic of the document to the
|
||||
reader.<br>
|
||||
<h2>Additional sections</h2>
|
||||
These section hold the real content of the document, with freely named
|
||||
sections and sub-sections. The normal HTML heading elements (<code><h1></code>,
|
||||
<code><h2></code>, ...) should be used to mark and group the
|
||||
sections. Sample source code included in the HTML document should be
|
||||
put inside a <code><pre><code>...</code></pre></code>
|
||||
block, like the following:<br>
|
||||
<br>
|
||||
<pre><code> // some sample code here<br> int i = 1;<br></code></pre>
|
||||
<h1>Template</h1>
|
||||
See a generic <a href="templates/htmlDocumentTemplate.html">template
|
||||
for HTML documents</a>. You may freely copy this
|
||||
template when starting to create a new document.<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,63 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
|
||||
|
||||
|
||||
|
||||
<title>LiveSupport development environment</title>
|
||||
<meta content="$Author$" name="author">
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
|
||||
<h1>Preface</h1>
|
||||
|
||||
This document is part of the <a href="http://livesupport.campware.org/">LiveSupport</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU <a href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>Author: $Author$</li>
|
||||
|
||||
<li>Version: $Revision$</li>
|
||||
|
||||
<li>Location: $URL:
|
||||
svn+ssh://maroy@code.campware.org/home/svn/repo/livesupport/trunk/livesupport/doc/developmentEnvironment/index.html
|
||||
$</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h1>Scope</h1>
|
||||
|
||||
This document gives an overview of the LiveSupport development
|
||||
environment.<br>
|
||||
|
||||
<h1>Introduction</h1>
|
||||
|
||||
The LiveSupport project defines a uniform development environment to
|
||||
enhance collaboration of participants in the project. The following
|
||||
aspects of the environment are defined so far:<br>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="fileConventions.html">file conventions</a></li>
|
||||
|
||||
<li><a href="directoryStructure.html">directory structure</a></li>
|
||||
|
||||
<li><a href="buildEnvironment.html">build
|
||||
environment</a></li>
|
||||
<li><a href="installation.html">component installation guidelines</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
<br>
|
||||
|
||||
<br>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,166 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
|
||||
|
||||
|
||||
|
||||
<title>Component Installation Guidelines</title>
|
||||
<meta content="$Author$" name="author">
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
|
||||
<h1>Preface</h1>
|
||||
|
||||
This document is part of the <a href="http://livesupport.campware.org/">LiveSupport</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU <a href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>Author: $Author$</li>
|
||||
|
||||
<li>Version: $Revision$</li>
|
||||
|
||||
<li>Location: $URL:
|
||||
svn+ssh://maroy@code.campware.org/home/svn/repo/livesupport/trunk/livesupport/doc/developmentEnvironment/buildEnvironment.html
|
||||
$<br>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h1>Scope</h1>
|
||||
|
||||
This document describes the installation procedures used by the components of the LiveSupport project.<br>
|
||||
|
||||
<h1>Introduction</h1>
|
||||
Component installation is a process more tricky than it seems at first.
|
||||
For example, when using a binary package manager, the component is
|
||||
configured and compiled on a different system (the one creating the
|
||||
binary package) than the one it will run on at the end.<br>
|
||||
<br>
|
||||
Installation also involves related issues like uninstallation and product
|
||||
version migration, which also have to be discussed here.<br>
|
||||
<br>
|
||||
<h1>Installation use cases</h1>
|
||||
<h2>Basic installation</h2>
|
||||
The basic installation procedure is as follows.<br>
|
||||
<h4>1. setting up the sources</h4>
|
||||
Get and unpack the source tarball(s), patch them if necessary. Make sure all tools required by the build are present.<br>
|
||||
<h4>2. configuring the sources</h4>
|
||||
Run the <code>configure</code> script on the unpacked source tree.<br>
|
||||
<br>
|
||||
Assumptions:<br>
|
||||
<ul>
|
||||
<li>don't assume that the directory prefixes supplied to <code>configure</code> will be the final installation directories for the component</li>
|
||||
<li>don't assume that the machine used for compilation will be the same machine the tool is used on (think binary package building)</li>
|
||||
</ul>
|
||||
<h4>3. compile the sources</h4>
|
||||
The sources are compiled (if needed) by the invoking <code></code><code>make all</code>.<br>
|
||||
<h4>4. install the component</h4>
|
||||
Install (copy) the component, possibly into a different directory than
|
||||
what was specified at step 2. This basically involves copying relevant
|
||||
files from the (built) source directory tree into a target directory
|
||||
tree.<br>
|
||||
<h4>5. post-installation setup</h4>
|
||||
Do post-installation (post-copy) setup of the component. This might involve the following:<br>
|
||||
<ul>
|
||||
<li>create and customize configuration files</li>
|
||||
<li>setup & configure external resources, like:</li>
|
||||
<ul>
|
||||
<li>database tables</li>
|
||||
<li>update configuration files of other tools used by this component</li>
|
||||
</ul>
|
||||
</ul>
|
||||
Assumptions:<br>
|
||||
<ul>
|
||||
<li>don't assume that the component has been built (compiled) on the same system as the one doing post-installation setup.</li>
|
||||
<li>running this step and pre-uninstallation should be a null operation</li>
|
||||
</ul>
|
||||
<br>
|
||||
<h2>Basic uninstallation</h2>
|
||||
The basic uninstallation procedure is the following.<br>
|
||||
<h4>1. pre-uninstallation steps</h4>
|
||||
Destroy any resources used by the component, with the components itself still being installed. This might involve:<br>
|
||||
<ul>
|
||||
<li>destroying databases</li>
|
||||
<li>reverting configuration changes to external resources made in during post-installation setup</li>
|
||||
</ul>
|
||||
Assumptions:<br>
|
||||
<ul>
|
||||
<li>this is the inverse of the post-installation setup procedure</li>
|
||||
</ul>
|
||||
<h4>2. uninstall the component</h4>
|
||||
Remove the components files from the filesystem.<br>
|
||||
<br>
|
||||
<h2>Upgrading</h2>
|
||||
TODO: detail the upgrading procedure<br>
|
||||
<br>
|
||||
<h1>Provisions in the build environment</h1>
|
||||
For the above goals to be met, the following structure is needed for each component in the build environment:<br>
|
||||
<br>
|
||||
<pre>componentX<br>|-- configure<br>|-- bin<br>| |-- autogen.sh<br>| |-- postInstall.sh<br>| `-- preUninstall.sh<br>`-- etc<br> |-- acinclude.m4<br> |-- configure.ac<br> `-- Makefile.in<br></pre>
|
||||
<h2>Considerations about specific installation steps</h2>
|
||||
<h4>1. setting up the sources</h4>
|
||||
none: this step is external to the package.<br>
|
||||
<h4>2. configuring the sources</h4>
|
||||
Assumptions:
|
||||
<ul>
|
||||
<li>don't assume that the directory prefixes supplied to <code>configure</code> will be the final installation directories for the component</li>
|
||||
<li>don't assume that the machine used for compilation will be the same machine the tool is used on (think binary package building)</li>
|
||||
</ul>
|
||||
<h4>3. compile the sources</h4>
|
||||
Assumptions:<br>
|
||||
<ul>
|
||||
<li>No hard-coded references should be made to any resources the component depends on. For example:</li>
|
||||
<ul>
|
||||
<li>don't hard-code shared library paths that are being linked to</li>
|
||||
<li>don't hard-code PHP include paths that are referenced</li>
|
||||
<li>don't hard-code paths that were supplied to configure</li>
|
||||
</ul>
|
||||
</ul>
|
||||
<h4>4. install the component</h4>
|
||||
When using package managers, this step is usually two-fold:<br>
|
||||
<ul>
|
||||
<li><code>make install</code> is executed, with <code>${prefix}</code> and other variables overwritten, so that the package is installed into a temporary directory</li>
|
||||
<li>the files installed by the call to <code>make install</code> will be copied to their true target location when the package build based on them is installed on a target system</li>
|
||||
</ul>
|
||||
Note that there is a lot of package manager-specific magic happening
|
||||
between these two steps, and that the steps usually take place on
|
||||
different machines (after all the package is only build on one, while
|
||||
it will be installed on a miriad of systems).<br>
|
||||
<br>
|
||||
Assumptions:<br>
|
||||
<ul>
|
||||
<li><code>make install</code> really should just copy files, and neither do, nor assume anything more than that.</li>
|
||||
<li><code>make install</code> should also copy all files needed to perform the post-installation setup and pre-uninstall steps.</li>
|
||||
</ul>
|
||||
<h4>5. post-installation setup</h4>
|
||||
The <code>bin/postInstall.sh</code> script should be used to perform
|
||||
the post-installation setup. The script should expect all variables it
|
||||
needs to be supplied by command-line arguments.<br>
|
||||
<br>
|
||||
Assumptions:<br>
|
||||
<ul>
|
||||
<li>only files that were installed by <code>make install</code> can be used to perform the post-installation setup</li>
|
||||
</ul>
|
||||
<h2>Considerations about specific uninstallation steps</h2>
|
||||
<h4>1. pre-uninstallation steps</h4>
|
||||
The <code>bin/preUninstall.sh</code> script should be used to perform
|
||||
the pre-uninstallation steps. The script should expect all variables it
|
||||
needs to be supplied by command-line arguments.<br>
|
||||
<br>
|
||||
Assumptions:<br>
|
||||
<ul>
|
||||
<li>only files that were installed by <code>make install</code> can be used to perform the pre-uninstallation step</li>
|
||||
</ul>
|
||||
<h4>2. uninstall the component</h4>
|
||||
none: this step is external to the package<br>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,142 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
|
||||
<title>Makefile conventions</title>
|
||||
<meta content="$Author$" name="author">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Preface</h1>
|
||||
This document is part of the <a href="http://campcaster.campware.org/">LiveSupport</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU <a
|
||||
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
<ul>
|
||||
<li>Author: $Author$</li>
|
||||
<li>Version: $Revision$</li>
|
||||
<li>Location: $URL$</li>
|
||||
</ul>
|
||||
<h1>Scope</h1>
|
||||
This document describes the Makefile file conventions for the
|
||||
LiveSupport
|
||||
project. See also the generic description of the <a
|
||||
href="fileConventions.html">file
|
||||
conventions</a> in the LiveSupport
|
||||
project. This document does not describe the mandatory targets for
|
||||
Makefiles, see the <a href="buildEnvironment.html">build environment</a>
|
||||
description for such details.<br>
|
||||
<h1>Introduction</h1>
|
||||
Makefiles are text-based files processed by <a
|
||||
href="http://www.gnu.org/software/make/">GNU make</a>. As text based
|
||||
files, they should adhere to the <a
|
||||
href="fileConventions.html#textConventions">generic text-based
|
||||
conventions</a>.<br>
|
||||
<h1>Naming</h1>
|
||||
Makefiles are always named <code>Makefile</code>. In case they are
|
||||
input files for automake or autoconf, they can be named <code>Makefile.in</code>
|
||||
or <code>Makefile.am</code>.<br>
|
||||
<h1>Structure</h1>
|
||||
Makefiles are partitioned by using the following 80 column wide
|
||||
partitioning comment:<br>
|
||||
<pre>#-------------------------------------------------------------------------------<br># This is the title of the partition<br>#-------------------------------------------------------------------------------<br></pre>
|
||||
The file has the
|
||||
following mandatory structure:<br>
|
||||
<ul>
|
||||
<li>Header</li>
|
||||
<li>General command definitions</li>
|
||||
<li>Basic directory and file definitions</li>
|
||||
<li>Configuration parameters</li>
|
||||
<li>Dependencies</li>
|
||||
<li>Targets</li>
|
||||
<li>Specific targets</li>
|
||||
<li>Pattern rules<br>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Header</h2>
|
||||
The header holds all information mandated by the <a
|
||||
href="fileConventions.html#header">generic guidelines</a>, but
|
||||
starting with the Makefile comment character <code>#</code>. Note the
|
||||
80
|
||||
column wide partitioning delimiter enclosing the header.<br>
|
||||
<pre>#-------------------------------------------------------------------------------<br># Copyright (c) 2004 Media Development Loan Fund<br>#<br># This file is part of the Campcaster project.<br># http://campcaster.campware.org/<br># To report bugs, send an e-mail to bugs@campware.org<br>#<br># Campcaster is free software; you can redistribute it and/or modify<br># it under the terms of the GNU General Public License as published by<br># the Free Software Foundation; either version 2 of the License, or<br># (at your option) any later version.<br>#<br># Campcaster is distributed in the hope that it will be useful,<br># but WITHOUT ANY WARRANTY; without even the implied warranty of<br># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br># GNU General Public License for more details.<br>#<br># You should have received a copy of the GNU General Public License<br># along with Campcaster; if not, write to the Free Software<br># Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br>#<br>#<br># Author : $Author$<br># Version : $Revision$<br># Location : $URL$<br>#-------------------------------------------------------------------------------<br></pre>
|
||||
<h2>General command definitions<br>
|
||||
</h2>
|
||||
This section contains definitions to commands used when executing the
|
||||
make targets within this Makefile. All the commands should be collected
|
||||
here, and a variable defined for them. This insures easy overview of
|
||||
the commands the Makefile uses, and also makes it easy to migrate to
|
||||
new commands, or the same commands in different locations.<br>
|
||||
<br>
|
||||
No external commands may be directly referenced outside this section.<br>
|
||||
<h3>Sample</h3>
|
||||
A sample general command definitions section follows.<br>
|
||||
<pre>#-------------------------------------------------------------------------------<br># General command definitions<br>#-------------------------------------------------------------------------------<br>MKDIR = mkdir -p<br>RM = rm -f<br>RMDIR = rm -rf<br>DOXYGEN = doxygen<br><br></pre>
|
||||
<h2>Basic directory and file definitions</h2>
|
||||
This section contains definitions for the directories and files
|
||||
referenced in this Makefile. All directories referenced from the
|
||||
Makefile, and all external files referenced by the Makefile should be
|
||||
collected here. This insures easy adoption in case some external
|
||||
directories or files change.<br>
|
||||
<br>
|
||||
No directories or external files may be directory referenced outside
|
||||
this section.<br>
|
||||
<br>
|
||||
When referencing other LiveSupport modules, typically the following
|
||||
variables are defined for them:<br>
|
||||
<pre><code>MODULEX_DIR = ${MODULES_DIR}/moduleX<br>MODULEX_INCLUDE_DIR = ${MODULEX_DIR}/include<br>MODULEX_LIB_DIR = ${MODULEX_DIR}/lib<br>MODULEX_LIB = livesupport_modulex<br></code></pre>
|
||||
<h3>Sample</h3>
|
||||
A sample directory and file definition section follows.<br>
|
||||
<pre>#-------------------------------------------------------------------------------<br># Basic directory and file definitions<br>#-------------------------------------------------------------------------------<br>BASE_DIR = .<br>DOC_DIR = ${BASE_DIR}/doc<br>DOXYGEN_DIR = ${DOC_DIR}/doxygen<br>ETC_DIR = ${BASE_DIR}/etc<br>SRC_DIR = ${BASE_DIR}/src<br>TMP_DIR = ${BASE_DIR}/tmp<br><br><br>USR_DIR = ${BASE_DIR}/../../usr<br>USR_INCLUDE_DIR = ${USR_DIR}/include<br>USR_LIB_DIR = ${USR_DIR}/lib<br>BOOST_INCLUDE_DIR = ${USR_INCLUDE_DIR}/boost-1_31<br>LIBXMLPP_INCLUDE_DIR = ${USR_INCLUDE_DIR}/libxml++-1.0<br><br>MODULES_DIR = ${BASE_DIR}/../../modules<br><br>HELLOLIB_DIR = ${MODULES_DIR}/hello<br>HELLOLIB_INCLUDE_DIR = ${HELLOLIB_DIR}/include<br>HELLOLIB_LIB_DIR = ${HELLOLIB_DIR}/lib<br>HELLOLIB_LIB = livesupport_hello<br><br>VPATH = ${SRC_DIR}<br><br>HELLO_EXE = ${TMP_DIR}/hello<br><br>DOXYGEN_CONFIG = ${ETC_DIR}/doxygen.config<br><br></pre>
|
||||
<h2>Configuration parameters</h2>
|
||||
This section contains the parameters passed to the building tools
|
||||
(compiler, linker, etc.) When invoking building tools, they should be
|
||||
parametrized by the definitions made here.<br>
|
||||
<h3>Sample<br>
|
||||
</h3>
|
||||
A sample configuration parameters section follows.<br>
|
||||
<pre>#-------------------------------------------------------------------------------<br># Configuration parameters<br>#-------------------------------------------------------------------------------<br>CPPFLAGS = <br>CXXFLAGS = -pedantic -Wall \<br> -I${USR_INCLUDE_DIR} -I${HELLOLIB_INCLUDE_DIR} \<br> -I${INCLUDE_DIR} -I${TMP_DIR}<br>LDFLAGS = -L${USR_LIB_DIR} -L${HELLOLIB_LIB_DIR} -L${LIB_DIR}<br><br></pre>
|
||||
<h2>Dependencies</h2>
|
||||
The dependencies section lists the objects that are build by implicit
|
||||
rules, and that main targets depend on. This is the place where all
|
||||
object files are listed, basically, for each library or executable.<br>
|
||||
<br>
|
||||
No object files that are built by this Makefile should be directly
|
||||
referred to outside this section.<br>
|
||||
<h3>Sample</h3>
|
||||
A sample dependencies section follows.<br>
|
||||
<pre>#-------------------------------------------------------------------------------<br># Dependencies<br>#-------------------------------------------------------------------------------<br>HELLO_EXE_OBJS = ${TMP_DIR}/main.o<br><br></pre>
|
||||
<h2>Targets</h2>
|
||||
This section lists all the explicit, external targets for the makefile.
|
||||
For a list of targets required, see the <a href="buildEnvironment.html">description</a>
|
||||
of the build environment. All targets in this section are marked as
|
||||
.PHONY, as these targets are not building the files they are named
|
||||
after.<br>
|
||||
<br>
|
||||
No explicit targets should be defined in the Makefile outside this
|
||||
directory.<br>
|
||||
<h3>Sample</h3>
|
||||
A sample targets section follows.<br>
|
||||
<pre>#-------------------------------------------------------------------------------<br># Targets<br>#-------------------------------------------------------------------------------<br>.PHONY: all dir_setup doc clean docclean depclean distclean<br> <br>all: dir_setup ${HELLO_EXE}<br> <br>dir_setup: ${TMP_DIR} ${DOXYGEN_DIR}<br> <br>doc:<br> ${DOXYGEN} ${DOXYGEN_CONFIG}<br> <br>clean:<br> ${RM} ${HELLO_EXE_OBJS} ${HELLO_EXE}<br> <br>docclean:<br> ${RMDIR} ${DOXYGEN_DIR}/html<br> <br>depclean: clean<br> <br>distclean: clean docclean<br> ${RMDIR} ${TMP_DIR}/config* ${TMP_DIR}/autom4te*<br> <br></pre>
|
||||
<h2>Specific targets</h2>
|
||||
This section defines the targets for files to be built by the Makefile.
|
||||
These are the targets that specify how files are built, but are not
|
||||
covered by pattern rules.<br>
|
||||
<h3>Sample</h3>
|
||||
A sample specific targets section follows.<br>
|
||||
<pre>#-------------------------------------------------------------------------------<br># Specific targets<br>#-------------------------------------------------------------------------------<br>${HELLO_EXE}: ${HELLO_EXE_OBJS}<br> ${CXX} ${LDFLAGS} -o $@ $^ -l${HELLOLIB_LIB}<br> <br>${TMP_DIR}:<br> ${MKDIR} ${TMP_DIR}<br> <br>${DOXYGEN_DIR}:<br> ${MKDIR} ${DOXYGEN_DIR}<br> <br></pre>
|
||||
<h2>Pattern rules</h2>
|
||||
Pattern rules are the generic rules to build target files from object
|
||||
files. Define these pattern rules in this section.<br>
|
||||
<br>
|
||||
No pattern rules should exist outside this section.<br>
|
||||
<h3>Sample</h3>
|
||||
A sample pattern rules section follows.<br>
|
||||
<pre>#-------------------------------------------------------------------------------<br># Pattern rules<br>#-------------------------------------------------------------------------------<br>${TMP_DIR}/%.o : ${SRC_DIR}/%.cxx<br> ${CXX} ${CPPFLAGS} ${CXXFLAGS} -c -o $@ $<<br><br></pre>
|
||||
<br>
|
||||
<h1>Template</h1>
|
||||
See a generic <a href="templates/Makefile">template
|
||||
for Makefiles</a>. You may freely copy this
|
||||
template when starting to create a new Makefile.<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,136 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8"
|
||||
http-equiv="content-type">
|
||||
<title>PHP file conventions</title>
|
||||
<meta content="$Author$" name="author">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Preface</h1>
|
||||
This document is part of the <a href="http://campcaster.campware.org/">LiveSupport</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU <a
|
||||
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
<ul>
|
||||
<li>Author: $Author$</li>
|
||||
<li>Version: $Revision$</li>
|
||||
<li>Location: $URL$</li>
|
||||
</ul>
|
||||
<h1>Scope</h1>
|
||||
This document describes the PHP script file conventions for the LiveSupport
|
||||
project. See also the generic description of the <a
|
||||
href="fileConventions.html">file conventions</a> in the LiveSupport
|
||||
project.<br>
|
||||
<h1>Introduction</h1>
|
||||
PHP scripts are text-based files containing PHP class definitions and/or commands.<br/>
|
||||
They should adhere to the <a
|
||||
href="http://pear.php.net/manual/en/standards.php">PEAR coding standards
|
||||
conventions</a>.<br>
|
||||
As text based files, they should adhere to the <a
|
||||
href="fileConventions.html#textConventions">generic text-based
|
||||
conventions</a>.<br>
|
||||
<h1>Naming</h1>
|
||||
A PHP script containing only class definition should have filename which reflects the class,
|
||||
it is implementing.
|
||||
Class names begin with a capital letter, followed by lower case letters.
|
||||
In case of a multiple word file name, the first letter of each word is
|
||||
capitalized.<br/>
|
||||
Other PHP scripts should have name starting with lowecase letter.<br/>
|
||||
PHP script files are named by the following rules:<br>
|
||||
<ul>
|
||||
<li>there are no spaces in the file name</li>
|
||||
<li>for file names containing multiple words, each additional word
|
||||
begins with a capital letter</li>
|
||||
<li>the extension of the file is <code>.php</code><br>
|
||||
</li>
|
||||
</ul>
|
||||
<h1>Structure</h1>
|
||||
PHP scripts are partitioned by using the following 80 column wide partitioning comments:<br/>
|
||||
<pre>
|
||||
/* ==================================================== name of the partition */
|
||||
</pre>
|
||||
and
|
||||
<pre>
|
||||
/* ------------------------------------------------- name of the subpartition */
|
||||
</pre>
|
||||
The file has the following mandatory structure:<br>
|
||||
<ul>
|
||||
<li>PHP starting tag <code><?php </code></li>
|
||||
<li>Header</li>
|
||||
<li>Defines ?</li>
|
||||
<li>Include files ?</li>
|
||||
<li>Code sections +</li>
|
||||
<li>PHP ending tag <code>?> </code></li>
|
||||
</ul>
|
||||
Because PHP is in-HTML embedable script language, it is possible to mix PHP and HTML code
|
||||
using PHP tags <code><?php</code> and <code>?></code>. This mixing approach is little bit
|
||||
obsolete and it is better to use pure PHP (with structure described above) and some template system to generate HTML.
|
||||
|
||||
|
||||
<h2>Header</h2>
|
||||
The header holds all information mandated by the <a
|
||||
href="fileConventions.html#header">generic guidelines</a>, but
|
||||
are enclosed in the PHP multiline comments <code>/* */</code>. Note the 80
|
||||
column wide partitioning delimiter enclosing the header.<br>
|
||||
<pre>
|
||||
/*------------------------------------------------------------------------------
|
||||
Copyright (c) 2004 Media Development Loan Fund
|
||||
|
||||
This file is part of the Campcaster project.
|
||||
http://campcaster.campware.org/
|
||||
To report bugs, send an e-mail to bugs@campware.org
|
||||
|
||||
Campcaster 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.
|
||||
|
||||
Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
|
||||
Author : $Author$
|
||||
Version : $Revision$
|
||||
Location : $URL$
|
||||
|
||||
------------------------------------------------------------------------------*/
|
||||
</pre>
|
||||
|
||||
<h2>Defines<br>
|
||||
</h2>
|
||||
This section contains all the constant defines, similar as:<br/>
|
||||
<br/>
|
||||
<code>define('CONSTAT_NAME', 10);</code><br/>
|
||||
<br/>
|
||||
|
||||
<h2>Include files<br>
|
||||
</h2>
|
||||
This section contains all the include files that the script needs
|
||||
to include.
|
||||
The include files are listed in
|
||||
a most generic to most specific order: first PEAR classes, then
|
||||
other LiveSupport module include files, and finally include files from
|
||||
the same module / product are listed.<br>
|
||||
Is much safer to use <code>include_once</code> or <code>require_once</code>, not the original versions
|
||||
of this statement.<br/>
|
||||
<br>
|
||||
|
||||
<h2>Code sections</h2>
|
||||
This sections contain class definitions, function definitions or runable PHP commands.<br/>
|
||||
|
||||
|
||||
<h1>Template</h1>
|
||||
See a generic <a href="templates/phpScriptTemplate.phps">template
|
||||
for PHP scripts</a>.
|
||||
You may freely <a href="templates/phpScriptTemplate.php.txt">download</a> and copy this
|
||||
template when starting to create a new script.<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,76 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
|
||||
<title>shell script conventions</title>
|
||||
<meta content="$Author$" name="author">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Preface</h1>
|
||||
This document is part of the <a href="http://campcaster.campware.org/">LiveSupport</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU <a
|
||||
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
<ul>
|
||||
<li>Author: $Author$</li>
|
||||
<li>Version: $Revision$</li>
|
||||
<li>Location: $URL$</li>
|
||||
</ul>
|
||||
<h1>Scope</h1>
|
||||
This document describes the shell script file conventions for the
|
||||
LiveSupport
|
||||
project. See also the generic description of the <a
|
||||
href="fileConventions.html">file
|
||||
conventions</a> in the LiveSupport
|
||||
project.<br>
|
||||
<h1>Introduction</h1>
|
||||
Shell scripts are text-based executable shell command files. As text
|
||||
based files, they should adhere to the <a
|
||||
href="fileConventions.html#textConventions">generic text-based
|
||||
conventions</a>.<br>
|
||||
<h1>Naming</h1>
|
||||
Shell script files are named by the following rules:<br>
|
||||
<ul>
|
||||
<li>there are no spaces in the file name</li>
|
||||
<li>the file name begins with a lower case letter</li>
|
||||
<li>for file names containing multiple words, each additional word
|
||||
begins with a capital letter</li>
|
||||
<li>the extension of the file is <code>.sh</code><br>
|
||||
</li>
|
||||
</ul>
|
||||
For example, a file with a single-word name may be named like: <code>single.sh</code>,
|
||||
whereas a file with multiple word name would be like: <code>multipleWordNameFile.sh</code>.<br>
|
||||
<h1>Structure</h1>
|
||||
Shell script files are partitioned by using the following 80 column
|
||||
wide partitioning comment:<br>
|
||||
<pre>#-------------------------------------------------------------------------------<br># This is the title of the partition<br>#-------------------------------------------------------------------------------<br></pre>
|
||||
The file has the
|
||||
following mandatory structure:<br>
|
||||
<ul>
|
||||
<li>Reference to the shell<br>
|
||||
</li>
|
||||
<li>Header</li>
|
||||
<li>Additional sections+</li>
|
||||
</ul>
|
||||
<h2>Reference to the shell<br>
|
||||
</h2>
|
||||
This is the mandatory reference to the shell executable each script has
|
||||
to begin with:<br>
|
||||
<pre><code>#!/bin/sh</code><br></pre>
|
||||
<h2>Header</h2>
|
||||
The header holds all information mandated by the <a
|
||||
href="fileConventions.html#header">generic guidelines</a>, but
|
||||
starting with the shell comment character <code>#</code>. Note the 80
|
||||
column wide partitioning delimiter enclosing the header.<br>
|
||||
<pre>#-------------------------------------------------------------------------------<br># Copyright (c) 2004 Media Development Loan Fund<br>#<br># This file is part of the Campcaster project.<br># http://campcaster.campware.org/<br># To report bugs, send an e-mail to bugs@campware.org<br>#<br># Campcaster is free software; you can redistribute it and/or modify<br># it under the terms of the GNU General Public License as published by<br># the Free Software Foundation; either version 2 of the License, or<br># (at your option) any later version.<br>#<br># Campcaster is distributed in the hope that it will be useful,<br># but WITHOUT ANY WARRANTY; without even the implied warranty of<br># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br># GNU General Public License for more details.<br>#<br># You should have received a copy of the GNU General Public License<br># along with Campcaster; if not, write to the Free Software<br># Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br>#<br>#<br># Author : $Author$<br># Version : $Revision$<br># Location : $URL$<br>#-------------------------------------------------------------------------------<br></pre>
|
||||
<h2>Additional sections</h2>
|
||||
Additional sections contain the executing code of the script. Bigger
|
||||
parts of the script may be partitioned by the partitioning commend seen
|
||||
above.<br>
|
||||
<h1>Template</h1>
|
||||
See a generic <a href="templates/shellScriptTemplate.sh">template
|
||||
for shell scripts</a>. You may freely copy this
|
||||
template when starting to create a new document.<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,70 +0,0 @@
|
|||
/*------------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2004 Media Development Loan Fund
|
||||
|
||||
This file is part of the Campcaster project.
|
||||
http://campcaster.campware.org/
|
||||
To report bugs, send an e-mail to bugs@campware.org
|
||||
|
||||
Campcaster 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.
|
||||
|
||||
Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
|
||||
Author : $Author$
|
||||
Version : $Revision$
|
||||
Location : $URL$
|
||||
|
||||
------------------------------------------------------------------------------*/
|
||||
|
||||
/* =============================================== include files & namespaces */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "configure.h"
|
||||
#endif
|
||||
|
||||
#include <LiveSupport/Foo/Bar.h>
|
||||
|
||||
|
||||
using namespace LiveSupport::Core;
|
||||
using namespace LiveSupport::Bar;
|
||||
|
||||
/* =================================================== local data structures */
|
||||
|
||||
|
||||
/* ================================================ local constants & macros */
|
||||
|
||||
/*------------------------------------------------------------------------------
|
||||
* Our famous foo string.
|
||||
*----------------------------------------------------------------------------*/
|
||||
const std::string Bar::fooStr = "foo";
|
||||
|
||||
|
||||
/* =============================================== local function prototypes */
|
||||
|
||||
|
||||
/* ============================================================= module code */
|
||||
|
||||
/*------------------------------------------------------------------------------
|
||||
* Return the famous bar string.
|
||||
*----------------------------------------------------------------------------*/
|
||||
const std::string
|
||||
Bar :: sayBar(void) throw (std::exception)
|
||||
{
|
||||
if (barInt) {
|
||||
throw std::exception();
|
||||
}
|
||||
|
||||
return barStr;
|
||||
}
|
||||
|
|
@ -1,111 +0,0 @@
|
|||
/*------------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2004 Media Development Loan Fund
|
||||
|
||||
This file is part of the Campcaster project.
|
||||
http://campcaster.campware.org/
|
||||
To report bugs, send an e-mail to bugs@campware.org
|
||||
|
||||
Campcaster 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.
|
||||
|
||||
Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
|
||||
Author : $Author$
|
||||
Version : $Revision$
|
||||
Location : $URL$
|
||||
|
||||
------------------------------------------------------------------------------*/
|
||||
#ifndef LiveSupport_Foo_Bar_h
|
||||
#define LiveSupport_Foo_Bar_H
|
||||
|
||||
#ifndef __cplusplus
|
||||
#error This is a C++ include file
|
||||
#endif
|
||||
|
||||
|
||||
/* =============================================== include files & namespaces */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "configure.h"
|
||||
#endif
|
||||
|
||||
#include <string>
|
||||
|
||||
|
||||
namespace LiveSupport {
|
||||
namespace Foo {
|
||||
|
||||
using namespace LiveSupport::Core;
|
||||
|
||||
/* ================================================================ constants */
|
||||
|
||||
|
||||
/* =================================================================== macros */
|
||||
|
||||
|
||||
/* =============================================================== data types */
|
||||
|
||||
/**
|
||||
* Bar class.
|
||||
* This does nothing.
|
||||
*
|
||||
* @author $Author$
|
||||
* @version $Revision$
|
||||
*/
|
||||
class Bar
|
||||
{
|
||||
private:
|
||||
/**
|
||||
* A static member variable.
|
||||
*/
|
||||
static const std::string barStr;
|
||||
|
||||
/**
|
||||
* A member variable.
|
||||
*/
|
||||
int barInt;
|
||||
|
||||
public:
|
||||
/**
|
||||
* Default constructor.
|
||||
*/
|
||||
Bar (void) throw ()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Say something.
|
||||
*
|
||||
* @param parameter a parameter we don't care about.
|
||||
* @return the bar string.
|
||||
* @exception std::exception on some problems.
|
||||
*/
|
||||
const std::string
|
||||
sayBar (void) throw (std::exception)
|
||||
{
|
||||
return barStr;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/* ================================================= external data structures */
|
||||
|
||||
|
||||
/* ====================================================== function prototypes */
|
||||
|
||||
} // namespace Foo
|
||||
} // namespace LiveSupport
|
||||
|
||||
|
||||
#endif // LiveSupport_Foo_Bar_H
|
|
@ -1,123 +0,0 @@
|
|||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# General command definitions
|
||||
#-------------------------------------------------------------------------------
|
||||
MKDIR = mkdir -p
|
||||
RM = rm -f
|
||||
RMDIR = rm -rf
|
||||
DOXYGEN = doxygen
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Basic directory and file definitions
|
||||
#-------------------------------------------------------------------------------
|
||||
BASE_DIR = .
|
||||
DOC_DIR = ${BASE_DIR}/doc
|
||||
DOXYGEN_DIR = ${DOC_DIR}/doxygen
|
||||
ETC_DIR = ${BASE_DIR}/etc
|
||||
SRC_DIR = ${BASE_DIR}/src
|
||||
TMP_DIR = ${BASE_DIR}/tmp
|
||||
|
||||
VPATH = ${SRC_DIR}
|
||||
|
||||
MODULES_DIR = ${BASE_DIR}/../../modules
|
||||
|
||||
HELLOLIB_DIR = ${MODULES_DIR}/hello
|
||||
HELLOLIB_INCLUDE_DIR = ${HELLOLIB_DIR}/include
|
||||
HELLOLIB_LIB_DIR = ${HELLOLIB_DIR}/lib
|
||||
HELLOLIB_LIB = livesupport_hello
|
||||
|
||||
HELLO_EXE = ${TMP_DIR}/hello
|
||||
|
||||
DOXYGEN_CONFIG = ${ETC_DIR}/doxygen.config
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Configuration parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CPPFLAGS =
|
||||
CXXFLAGS = -pedantic -Wall \
|
||||
-I${TMP_DIR} -I${HELLOLIB_INCLUDE_DIR}
|
||||
LDFLAGS = -L${HELLOLIB_LIB_DIR}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Dependencies
|
||||
#-------------------------------------------------------------------------------
|
||||
HELLO_EXE_OBJS = ${TMP_DIR}/main.o
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Targets
|
||||
#-------------------------------------------------------------------------------
|
||||
.PHONY: all dir_setup doc clean docclean depclean distclean
|
||||
|
||||
all: ${HELLOLIB_LIB} dir_setup ${HELLO_EXE}
|
||||
|
||||
dir_setup: ${TMP_DIR} ${DOXYGEN_DIR}
|
||||
|
||||
doc:
|
||||
${DOXYGEN} ${DOXYGEN_CONFIG}
|
||||
|
||||
clean:
|
||||
${RM} ${HELLO_EXE_OBJS} ${HELLO_EXE}
|
||||
|
||||
docclean:
|
||||
${RMDIR} ${DOXYGEN_DIR}/html
|
||||
|
||||
depclean: clean
|
||||
${MAKE} -C ${HELLOLIB_DIR} clean
|
||||
|
||||
distclean: clean docclean
|
||||
${RMDIR} ${TMP_DIR}/config* ${TMP_DIR}/autom4te*
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Specific targets
|
||||
#-------------------------------------------------------------------------------
|
||||
${HELLO_EXE}: ${HELLO_EXE_OBJS}
|
||||
${CXX} ${LDFLAGS} -o $@ $^ -l${HELLOLIB_LIB}
|
||||
|
||||
${TMP_DIR}:
|
||||
${MKDIR} ${TMP_DIR}
|
||||
|
||||
${DOXYGEN_DIR}:
|
||||
${MKDIR} ${DOXYGEN_DIR}
|
||||
|
||||
${HELLOLIB_LIB}:
|
||||
${MAKE} -C ${HELLOLIB_DIR} all
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Pattern rules
|
||||
#-------------------------------------------------------------------------------
|
||||
${TMP_DIR}/%.o : ${SRC_DIR}/%.cxx
|
||||
${CXX} ${CPPFLAGS} ${CXXFLAGS} -c -o $@ $<
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
dnl-----------------------------------------------------------------------------
|
||||
dnl Copyright (c) 2004 Media Development Loan Fund
|
||||
dnl
|
||||
dnl This file is part of the Campcaster project.
|
||||
dnl http://campcaster.campware.org/
|
||||
dnl To report bugs, send an e-mail to bugs@campware.org
|
||||
dnl
|
||||
dnl Campcaster is free software; you can redistribute it and/or modify
|
||||
dnl it under the terms of the GNU General Public License as published by
|
||||
dnl the Free Software Foundation; either version 2 of the License, or
|
||||
dnl (at your option) any later version.
|
||||
dnl
|
||||
dnl Campcaster is distributed in the hope that it will be useful,
|
||||
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
dnl GNU General Public License for more details.
|
||||
dnl
|
||||
dnl You should have received a copy of the GNU General Public License
|
||||
dnl along with Campcaster; if not, write to the Free Software
|
||||
dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
dnl
|
||||
dnl
|
||||
dnl Author : $Author$
|
||||
dnl Version : $Revision$
|
||||
dnl Location : $URL$
|
||||
dnl-----------------------------------------------------------------------------
|
||||
|
||||
dnl-----------------------------------------------------------------------------
|
||||
dnl NOTE: Run all configure related scripts from the tmp directory of the
|
||||
dnl project.
|
||||
dnl This is due to the fact that configure spreads a lot of trash around,
|
||||
dnl like atom4te cache directories, config.* files, etc. into the directory
|
||||
dnl it is being run from. We clearly don't want these in our base directory.
|
||||
dnl-----------------------------------------------------------------------------
|
||||
AC_INIT(Hello, 1.0, bugs@campware.org)
|
||||
AC_PREREQ(2.59)
|
||||
AC_COPYRIGHT([Copyright (c) 2004 Media Development Loan Fund under the GNU GPL])
|
||||
AC_REVISION($Revision$)
|
||||
|
||||
AC_CONFIG_SRCDIR(../src/main.cxx)
|
||||
|
||||
AC_CONFIG_HEADERS(configure.h)
|
||||
AC_PROG_CXX()
|
||||
|
||||
AC_CHECK_HEADERS(unistd.h getopt.h)
|
||||
|
||||
AC_CONFIG_FILES(../Makefile:../etc/Makefile.in)
|
||||
|
||||
AC_OUTPUT()
|
|
@ -1,29 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8"
|
||||
http-equiv="content-type">
|
||||
<title>HTML document template</title>
|
||||
<meta content="$Author$" name="author">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Preface</h1>
|
||||
This document is part of the <a href="http://livesupport.campware.org/">LiveSupport</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU <a
|
||||
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
<ul>
|
||||
<li>Author: $Author$</li>
|
||||
<li>Version: $Revision$</li>
|
||||
<li>Location: $URL$</li>
|
||||
</ul>
|
||||
<h1>Scope</h1>
|
||||
Describe the scope of your document here, e.g. what topic it is all
|
||||
about<br>
|
||||
<h1>Introduction</h1>
|
||||
Introduce the content of the document to your reader<br>
|
||||
<h1>Additional sections</h1>
|
||||
Write about your topic in details here..<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,98 +0,0 @@
|
|||
<?php
|
||||
/*------------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2004 Media Development Loan Fund
|
||||
|
||||
This file is part of the Campcaster project.
|
||||
http://campcaster.campware.org/
|
||||
To report bugs, send an e-mail to bugs@campware.org
|
||||
|
||||
Campcaster 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.
|
||||
|
||||
Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
|
||||
Author : $Author$
|
||||
Version : $Revision$
|
||||
Location : $URL$
|
||||
|
||||
------------------------------------------------------------------------------*/
|
||||
|
||||
define('CONSTANT1', 10);
|
||||
define('CONSTANT2', 20);
|
||||
define('ERROR_CODE', 404);
|
||||
|
||||
require_once "DB.php";
|
||||
require_once "../../../othermodule/var/ClassName.php";
|
||||
require_once "LocalBaseClass.php";
|
||||
|
||||
/**
|
||||
* Example class
|
||||
*
|
||||
* Description of Example class
|
||||
*
|
||||
* @author $Author$
|
||||
* @version $Revision$
|
||||
* @see LocalBaseClass
|
||||
*/
|
||||
class Example extends LocalBaseClass{
|
||||
var $property1;
|
||||
var $property2;
|
||||
|
||||
/* ========================================================== constructor */
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param paramName parameter type, description
|
||||
* @return return type, description
|
||||
*/
|
||||
function Example($paramName)
|
||||
{
|
||||
parent::LocalBaseClass($paramName);
|
||||
/* commands here */
|
||||
}
|
||||
|
||||
/* ======================================================= public methods */
|
||||
/**
|
||||
* First Example method
|
||||
*
|
||||
* @param paramName parameter type, description
|
||||
* @return return type, description
|
||||
*/
|
||||
function firstExampleMethod($paramName)
|
||||
{
|
||||
/* commands here */
|
||||
return $variable;
|
||||
}
|
||||
|
||||
/**
|
||||
* Second Example method
|
||||
*
|
||||
* @param paramName parameter type, description
|
||||
* @return return type, description
|
||||
*/
|
||||
function secondExampleMethod($paramName)
|
||||
{
|
||||
/* commands here */
|
||||
return $variable;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------- subsection */
|
||||
/* ---------------------------------------------------- redefined methods */
|
||||
|
||||
/* ==================================================== "private" methods */
|
||||
/* =============================================== test and debug methods */
|
||||
}
|
||||
|
||||
/* optional runable code here */
|
||||
?>
|
|
@ -1,98 +0,0 @@
|
|||
<?php
|
||||
/*------------------------------------------------------------------------------
|
||||
|
||||
Copyright (c) 2004 Media Development Loan Fund
|
||||
|
||||
This file is part of the Campcaster project.
|
||||
http://campcaster.campware.org/
|
||||
To report bugs, send an e-mail to bugs@campware.org
|
||||
|
||||
Campcaster 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.
|
||||
|
||||
Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
|
||||
Author : $Author$
|
||||
Version : $Revision$
|
||||
Location : $URL$
|
||||
|
||||
------------------------------------------------------------------------------*/
|
||||
|
||||
define('CONSTANT1', 10);
|
||||
define('CONSTANT2', 20);
|
||||
define('ERROR_CODE', 404);
|
||||
|
||||
require_once "DB.php";
|
||||
require_once "../../../othermodule/var/ClassName.php";
|
||||
require_once "LocalBaseClass.php";
|
||||
|
||||
/**
|
||||
* Example class
|
||||
*
|
||||
* Description of Example class
|
||||
*
|
||||
* @author $Author$
|
||||
* @version $Revision$
|
||||
* @see LocalBaseClass
|
||||
*/
|
||||
class Example extends LocalBaseClass{
|
||||
var $property1;
|
||||
var $property2;
|
||||
|
||||
/* ========================================================== constructor */
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param paramName parameter type, description
|
||||
* @return return type, description
|
||||
*/
|
||||
function Example($paramName)
|
||||
{
|
||||
parent::LocalBaseClass($paramName);
|
||||
/* commands here */
|
||||
}
|
||||
|
||||
/* ======================================================= public methods */
|
||||
/**
|
||||
* First Example method
|
||||
*
|
||||
* @param paramName parameter type, description
|
||||
* @return return type, description
|
||||
*/
|
||||
function firstExampleMethod($paramName)
|
||||
{
|
||||
/* commands here */
|
||||
return $variable;
|
||||
}
|
||||
|
||||
/**
|
||||
* Second Example method
|
||||
*
|
||||
* @param paramName parameter type, description
|
||||
* @return return type, description
|
||||
*/
|
||||
function secondExampleMethod($paramName)
|
||||
{
|
||||
/* commands here */
|
||||
return $variable;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------- subsection */
|
||||
/* ---------------------------------------------------- redefined methods */
|
||||
|
||||
/* ==================================================== "private" methods */
|
||||
/* =============================================== test and debug methods */
|
||||
}
|
||||
|
||||
/* optional runable code here */
|
||||
?>
|
|
@ -1,33 +0,0 @@
|
|||
#!/bin/sh
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2004 Media Development Loan Fund
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.campware.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster 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.
|
||||
#
|
||||
# Campcaster 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 Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author$
|
||||
# Version : $Revision$
|
||||
# Location : $URL$
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script does nothing else, but says hello.
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
echo "Hello!";
|
|
@ -1,109 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
|
||||
<title>LiveSupport developer tools</title>
|
||||
<meta content="$Author$" name="author">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Preface</h1>
|
||||
This document is part of the <a href="http://livesupport.campware.org/">LiveSupport</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU <a
|
||||
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
<ul>
|
||||
<li>Author: $Author$</li>
|
||||
<li>Version: $Revision$</li>
|
||||
<li>Location: $URL$</li>
|
||||
</ul>
|
||||
<h1>Scope</h1>
|
||||
This document lists the development tools that are expected to be on a
|
||||
system that intends to compile and develop LiveSupport.<br>
|
||||
<h1>Introduction</h1>
|
||||
LiveSupport expects a generic development environment on the system to
|
||||
be built, which is basically a generic install of a POSIX-compliant
|
||||
operating system, with a set of GNU development tools and some
|
||||
utilities.<br>
|
||||
<h1>Tools</h1>
|
||||
The following tools are expected on the development system:<br>
|
||||
<ul>
|
||||
<li><a href="http://sources.redhat.com/binutils/">binutils</a> >=
|
||||
2.13</li>
|
||||
<li><a href="http://gcc.gnu.org/">gcc</a> >= 3.3</li>
|
||||
<li><a href="http://www.gnu.org/software/make/make.html">make</a>
|
||||
>= 3.80</li>
|
||||
<li><a href="http://www.gnu.org/software/automake/">automake</a><br>
|
||||
</li>
|
||||
<li><a href="http://www.gnu.org/software/autoconf/">autoconf</a>
|
||||
>= 2.5<br>
|
||||
(If you have an older version installed as well, don't forget to set
|
||||
the
|
||||
environment variable WANT_AUTOCONF_2_5="1" before compiling the tools.)</li>
|
||||
<li><a href="http://www.gnu.org/software/libtool/libtool.html">libtool</a><br>
|
||||
</li>
|
||||
<li><a href="http://www.freedesktop.org/software/pkgconfig/">pkgconfig</a>
|
||||
>= 0.15</li>
|
||||
<li><a href="http://www.fsf.org/software/patch/patch.html">patch</a>
|
||||
>= 2.5.9<br>
|
||||
</li>
|
||||
<li><a href="http://www.doxygen.org/">doxygen</a></li>
|
||||
<li><a href="http://www.gnu.org/software/tar/">tar</a></li>
|
||||
<li><a href="http://www.gzip.org/">gzip</a></li>
|
||||
<li><a href="http://info-zip.org/masters/ftp.info-zip.org/UnZip.html">unzip</a></li>
|
||||
<li><a href="http://curl.haxx.se/">curl</a><br>
|
||||
<!-- to compile gstreamer; begin -->
|
||||
<li><a href="http://www.gnu.org/software/bison/bison.html">bison</a> >= 1.35<br>
|
||||
<li><a href="http://www.gnu.org/software/flex/flex.html">flex</a>
|
||||
<!-- to compile gstreamer; end -->
|
||||
</li>
|
||||
</ul>
|
||||
<h1>Libraries</h1>
|
||||
Note that if you are installing these libraries as binary packages, then you
|
||||
will need to install the "development" package, as well. (For example, for
|
||||
libpng, you might need to install the <code>libpng</code> and
|
||||
<code>libpng-dev</code> packages. The package names vary by distribution.)
|
||||
<br>
|
||||
<h2>Required libraries<br>
|
||||
</h2>
|
||||
The following development libraries are expected on the development
|
||||
system:<br>
|
||||
<ul>
|
||||
<li><a href="http://www.unixodbc.org/">unixODBC</a> >= 2.2</li>
|
||||
<li><a href="http://xorg.freedesktop.org/">xorg-x11</a> or <a
|
||||
href="http://www.xfree86.org/">XFree86</a></li>
|
||||
<li><a href="http://freedesktop.org/Software/fontconfig">fontconfig</a><br>
|
||||
</li>
|
||||
<li><a href="http://www.libpng.org/">libpng</a></li>
|
||||
<li><a href="http://www.ijg.org/">libjpeg</a><br>
|
||||
</li>
|
||||
<li><a href="http://www.openssl.org/">openssl</a></li>
|
||||
<li><a href="http://xmlsoft.org/">libxml2</a></li>
|
||||
<li><a href="http://directory.fsf.org/libs/popt.html">popt</a></li>
|
||||
<li><a href="http://www.alsa-project.org/">ALSA libraries</a><br>
|
||||
</li>
|
||||
<li><a href="http://mad.sourceforge.net/">libid3tag</a><br>
|
||||
</li>
|
||||
<li><a href="http://mad.sourceforge.net/">libmad</a></li>
|
||||
<li><a href="http://www.xiph.org/ogg/vorbis/">libogg</a></li>
|
||||
<li><a href="http://www.xiph.org/ogg/vorbis/">libvorbis</a></li>
|
||||
<li><a href="http://www.bzip.org">bzip2</a></li>
|
||||
<!-- bzip2 headers are only required if boost will be compiled -->
|
||||
</ul>
|
||||
|
||||
<h2>Recommended libraries</h2>
|
||||
The following libraries are used by LiveSupport. If they are not found
|
||||
on the system, LiveSupport will compile them from sources on its own.
|
||||
While having these libraries is not necessary, Compiling takes longer
|
||||
without them, and the generated LiveSupport directory will be larger as
|
||||
well.<br>
|
||||
<ul>
|
||||
<li><a href="http://www.boost.org/">boost</a> >= 1.33.1</li>
|
||||
<li><a href="http://www.gtk.org/">gtk+</a> >= 2.6.10</li>
|
||||
<li><a href="http://www.gtkmm.org/">gtkmm</a> >= 2.6.5</li>
|
||||
<li><a href="http://www.ibm.com/software/globalization/icu/">icu</a>
|
||||
>= 3.0</li>
|
||||
<li><a href="http://libxmlplusplus.sourceforge.net/">libxml++</a>
|
||||
>= 2.8.1</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
|
@ -1 +0,0 @@
|
|||
keep me
|
|
@ -1,213 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
|
||||
<title>Getting started with the LiveSupport development environment</title>
|
||||
<meta content="$Author$" name="author">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Preface</h1>
|
||||
This document is part of the <a href="http://livesupport.campware.org/">LiveSupport</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU <a
|
||||
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
<ul>
|
||||
<li>Author: $Author$</li>
|
||||
<li>Version: $Revision$</li>
|
||||
<li>Location: $URL$</li>
|
||||
</ul>
|
||||
<h1>Scope</h1>
|
||||
This document describes how to set up the LiveSupport development
|
||||
environment.<br>
|
||||
|
||||
<h1>Introduction</h1>
|
||||
LiveSupport uses a well-defined <a
|
||||
href="developmentEnvironment/index.html">development environment</a>.
|
||||
Most of the LiveSupport-specific files are included in the version
|
||||
control system, but some preparation and setup has to be made on system
|
||||
used to develop LiveSupport as well.<br>
|
||||
<br>
|
||||
There is a simplified and Ubuntu-centric version of this document in the
|
||||
<a href="http://code.campware.org/projects/livesupport/wiki/DevelopmentEnvironment">
|
||||
LiveSupport Trac wiki</a>.
|
||||
|
||||
<h1>Steps<br>
|
||||
</h1>
|
||||
The following steps needed to be taken for setting up the LiveSupport
|
||||
development environment.<br>
|
||||
<ul>
|
||||
<li>install development tools<br>
|
||||
</li>
|
||||
<li>set up additional system resources</li>
|
||||
<li>check out the sources</li>
|
||||
<li>configure the environment<br>
|
||||
</li>
|
||||
<li>set up tools used by LiveSupport</li>
|
||||
<li>personalize your development environment<br>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Install development tools</h2>
|
||||
Install all the tools needed for the development of LiveSupport. Please
|
||||
see the <a href="developmentTools.html">development tools</a> document
|
||||
for a list of tools needed.<br>
|
||||
<h2>Set up additional system resources</h2>
|
||||
The LiveSupport development environment uses some system resources,
|
||||
that are not reasonable to include in the environment itself.<br>
|
||||
<h3>Test database<br>
|
||||
</h3>
|
||||
One such
|
||||
resource is an ODBC datasource to a test database. This
|
||||
database has to be accessible for executing the test suites and
|
||||
applications within the LiveSupport development environment.<br>
|
||||
<br>
|
||||
First, LiveSupport expects a <a href="http://www.postgresql.org/">PostgreSQL</a>
|
||||
database, and an ODBC
|
||||
Data Source accessible to it through <a href="http://www.unixodbc.org/">unixODBC</a>.
|
||||
Please refer to the documentation of these tools to set them up.<br>
|
||||
<br>
|
||||
The test environment assumes that it can connect to the PostgreSQL
|
||||
database as localhost via a TCP/IP connection, as the user test.<br>
|
||||
<br>
|
||||
In newer versions of PostgreSQL (≥ 8), TCP/IP connections from localhost
|
||||
are enabled by default. If you are using an older version, do the following:
|
||||
<ul>
|
||||
<li>edit <code>postgresql.conf</code>
|
||||
(usually <code>/var/lib/postgres/data/postgresql.conf</code>), to have
|
||||
to following line:<br>
|
||||
<br>
|
||||
<pre><code>tcpip_socket = true</code></pre>
|
||||
<br>
|
||||
<li> and also edit <code>pg_hba.conf</code> (usually
|
||||
<code>/var/lib/postgres/data/pg_hba.conf</code>)
|
||||
to include the following line, before other lines related to access
|
||||
through localhost:<br>
|
||||
<br>
|
||||
<pre><code>host all all 127.0.0.1 255.255.255.255 password</code></pre>
|
||||
<br>
|
||||
After the above two manual edits to the PostgreSQL configuration,
|
||||
restart the postgresql daemon.<br>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3>Web server<br>
|
||||
</h3>
|
||||
Second, LiveSupport expects:
|
||||
<ul>
|
||||
<li><a href="http://httpd.apache.org/">Apache</a> httpd server
|
||||
running on the development computer</li>
|
||||
<li><a href="http://www.php.net/">PHP</a> interpreter</li>
|
||||
<li><a href="http://www.php.net/">PHP</a> apache module</li>
|
||||
<li> PHP iconv extension (--with-iconv)<br>
|
||||
<li><a href="http://www.php.net/domxml">DOMXML</a> PHP extension - an
|
||||
XMLv2 module for PHP<br>
|
||||
</li>
|
||||
<li><a href="http://www.postgresql.org/">PostgreSQL</a> support in PHP</li>
|
||||
<li><a href="http://pear.php.net/">PEAR</a> </li>
|
||||
</ul>
|
||||
|
||||
<h3>Apache group membership</h3>
|
||||
The setup script assumes that the current user is a member of the Apache group.
|
||||
Add the user who will be using the development environment to this group;
|
||||
it's usually called <code>apache</code>; on debian-based systems, it is
|
||||
called <code>www-data</code>.
|
||||
|
||||
<h3>Apache configuration</h3>
|
||||
The storage server uses some directives which are not enabled by default.
|
||||
To enable them, find the configuration file for the userdir module of
|
||||
apache, and change the <code>AllowOverride</code> directive in the
|
||||
<code><Directory /home/*/public_html></code> section to <code>All</code>.
|
||||
<br><br>
|
||||
|
||||
<h2>Check out the sources</h2>
|
||||
The LiveSupport development directory tree can be accessed anonymously via
|
||||
<a href="http://subversion.tigris.org/">Subversion</a>, at
|
||||
<code>svn+ssh://code.campware.org/home/svn/repo/livesupport/trunk/livesupport</code>.
|
||||
The following Subversion command
|
||||
would check out the development tree:<br><br>
|
||||
<pre><code>svn checkout svn+ssh://code.campware.org/home/svn/repo/livesupport/trunk/livesupport</code></pre><br>
|
||||
This will check out and create the LiveSupport development <a
|
||||
href="developmentEnvironment/directoryStructure.html">directory
|
||||
structure</a>.<br>
|
||||
<br>
|
||||
|
||||
<h2>Configure the environment</h2>
|
||||
First, you need to create the database and ODBC data source used by
|
||||
LiveSupport. This is done most easily by running the script
|
||||
<code>livesupport/bin/user_setup_db.sh</code>.
|
||||
Run the scripts as root, and provide your user name with the
|
||||
<code>--user</code> option:
|
||||
|
||||
<pre><code>
|
||||
cd livesupport
|
||||
sudo ./bin/user_setup_db.sh --user=<ls_developer_user>
|
||||
</code></pre>
|
||||
<br>
|
||||
The script will set up the following resources:<br>
|
||||
<ul>
|
||||
<li>a PostgreSQL user named <code>test</code> with the password
|
||||
<code>test</code> (if it does not exist)</li>
|
||||
<li>a PostgreSQL database named
|
||||
<code>LiveSupport-<ls_developer_user></code></li>
|
||||
<li>an ODBC data source of the same name, with user name
|
||||
and password <code>test</code></li>
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
Next (and last), you compile the code and set up the configuration files.
|
||||
Both are done by the script
|
||||
<pre><code>
|
||||
cd livesupport
|
||||
./bin/setupDevelopmentEnvironment.sh --apache-group=<apache_group>
|
||||
</code></pre>
|
||||
<br>
|
||||
This script will set up the libraries used by LiveSupport (by compiling
|
||||
and installing them under livesupport/usr), and set up the development
|
||||
environment for all LiveSupport modules.<br>
|
||||
<br>
|
||||
It will also create your personalized configuration files under
|
||||
<code>~/.livesupport</code>, make certain directories writable for Apache
|
||||
(this is where we need the current user to be a member of the
|
||||
<code>apache</code> group), define a user-specific port for the scheduler
|
||||
daemon, and create a symlink in <code>~/public_html/</code> to the PHP
|
||||
entry points.<br>
|
||||
<br>
|
||||
After running the above script, the livesupport development environment
|
||||
for the current user will be unique on the system, and will not
|
||||
conflict with resources used by other developers. For example, the
|
||||
LiveSupport HTML user interface for the user will be reachable at:<br>
|
||||
<pre><code>
|
||||
http://localhost/~<ls_developer_user>/livesupport/htmlUI/var
|
||||
</code></pre>
|
||||
<br>
|
||||
|
||||
<h2>Single-user setup</h2>
|
||||
It is also possible to set up a shared configuration, instead of the
|
||||
per-user setup described in the previous section.<br>
|
||||
<br>
|
||||
To do this, use the script <code>test_setup_db.sh</code> instead of
|
||||
<code>user_setup_db.sh</code>. You will also need to manually execute
|
||||
the commands in <code>setupDevelopmentEnvironment</code> up to, and not
|
||||
including, the call to <code>user_setup.sh</code>; and manually execute
|
||||
the "Setup storage server" and "Setup directory permissions" portions
|
||||
of the <code>user_setup.sh</code> script. Finally, create a symlink
|
||||
<code>livesupport</code> in the root data directory of the Apache server
|
||||
which points to <code>livesupport/src/modules/</code>.
|
||||
The address of the HTML interface will now be<br>
|
||||
<pre><code>
|
||||
http://localhost/livesupport/htmlUI/var
|
||||
</code></pre>
|
||||
<br>
|
||||
After this, the development environment should work, using the default
|
||||
configuration files. NOTE: this single-user method has not been used by any
|
||||
developers for quite some time, so these instructions may be
|
||||
out of date or incomplete.<br>
|
||||
<br>
|
||||
|
||||
<h1>Ready to roll</h1>
|
||||
With the above steps completed, the LiveSupport modules and products
|
||||
are ready to be compiled and developed further. Have fun!<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
Before Width: | Height: | Size: 246 KiB |
Before Width: | Height: | Size: 324 KiB |
|
@ -1,13 +0,0 @@
|
|||
<html><head><title>final designs : livesupport</title></head>
|
||||
<body>
|
||||
<a href="livemode.gif" target="100%">master palette, live mode, cue, history, scratchpad and xfader</a><br>
|
||||
<a href="advancedsearch.gif" target="100%">advanced search</a><br>
|
||||
<a href="simple-browser.gif" target="100%">search : browser and simple search</a><br>
|
||||
<a href="info.gif" target="100%">info palette</a><br>
|
||||
<a href="uploadstream.gif" target="100%">upload stream</a><br>
|
||||
<a href="editfile.gif" target="100%">edit file</a><br>
|
||||
<a href="login_upload.gif" target="100%">login and upload palettes</a><br>
|
||||
<a href="scheduler_week.gif" target="100%">scheduler, week view</a><br>
|
||||
<a href="scheduler_day.gif" target="100%">scheduler, day view</a><br>
|
||||
<a href="playlist_list_view.gif" target="100%">playlist, list view</a><br>
|
||||
<a href="playlist_timeline_view.gif" target="100%">playlist, timeline view</a></body></html>
|
Before Width: | Height: | Size: 346 KiB |
Before Width: | Height: | Size: 139 KiB |
Before Width: | Height: | Size: 318 KiB |
Before Width: | Height: | Size: 293 KiB |
Before Width: | Height: | Size: 298 KiB |
Before Width: | Height: | Size: 195 KiB |
Before Width: | Height: | Size: 206 KiB |
Before Width: | Height: | Size: 184 KiB |
Before Width: | Height: | Size: 338 KiB |
|
@ -1,61 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
|
||||
<title>LiveSupport developer documentation</title>
|
||||
<meta content="$Author$" name="author">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Preface</h1>
|
||||
This document is part of the <a href="http://livesupport.campware.org/">LiveSupport</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU <a
|
||||
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
<ul>
|
||||
<li>Author: $Author$</li>
|
||||
<li>Version: $Revision$</li>
|
||||
<li>Location: $URL$</li>
|
||||
</ul>
|
||||
<h1>Scope</h1>
|
||||
This document collects LiveSupport developer documentation, both
|
||||
generated and handwritten.<br>
|
||||
<h1>Introduction</h1>
|
||||
The links below provide useful documentation for the LiveSupport
|
||||
developer.<br>
|
||||
<h1>Static documentation<br>
|
||||
</h1>
|
||||
<h2>User documentation</h2>
|
||||
<ul>
|
||||
<li><a href="quickstart/index.html">quickstart</a></li>
|
||||
<li><a href="manual/index.html">manual</a></li>
|
||||
</ul>
|
||||
<h2>Developer documentation</h2>
|
||||
<ul>
|
||||
<li><a href="gettingStarted.html">getting started</a> with
|
||||
LiveSupport development</li>
|
||||
<li><a href="developmentTools.html">development tools</a> needed to
|
||||
compile LiveSupport<br>
|
||||
</li>
|
||||
<li>LiveSupport <a href="developmentEnvironment/index.html">development
|
||||
environment</a></li>
|
||||
<li>UML <a href="model/index.html">model</a></li>
|
||||
<li><a href="install.html">installation instructions</a></li>
|
||||
<li><a href="release.html">release process</a></li>
|
||||
<li><a href="studioLocalization.html">localizing LS Studio</a></li>
|
||||
<li><a href="preferences.html">definitions of shared station/user preferences</a></li>
|
||||
</li>
|
||||
</ul>
|
||||
<h1>Generated documentation</h1>
|
||||
<ul>
|
||||
<li>XML-RPC <a href="xml-rpc_doc/html/hierarchy.html">interface
|
||||
description</a> for the scheduler daemon</li>
|
||||
<li>C++ <a href="doxygen/html/index.html">class documentation</a></li>
|
||||
<li>Unit test <a href="testResults.html">results</a></li>
|
||||
<li>C++ code coverage <a href="coverage/index.html">results</a></li>
|
||||
<li>flawfinder <a href="flawfinderReport.html">results</a></li>
|
||||
<li>the list of <a href="gui/metadataFields.html">fields used in the
|
||||
metadata</a> of audio clips and playlists</li>
|
||||
</ul>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,229 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
|
||||
<title>LiveSupport installation documentation</title>
|
||||
<meta content="$Author$" name="author">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Preface</h1>
|
||||
This document is part of the <a href="http://livesupport.campware.org/">LiveSupport</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU <a
|
||||
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
<ul>
|
||||
<li>Author: $Author$</li>
|
||||
<li>Version: $Revision$</li>
|
||||
<li>Location: $URL$</li>
|
||||
</ul>
|
||||
<h1>Scope</h1>
|
||||
This document describes how to compile and install LiveSupport on your
|
||||
system.<br>
|
||||
<h1>Introduction</h1>
|
||||
LiveSupport has an installation procedure to make sure LiveSupport will
|
||||
work properly on your system. This procedure consists of the following
|
||||
steps:<br>
|
||||
<ul>
|
||||
<li>installing required compilation tools</li>
|
||||
<li>installing and configuring required external services</li>
|
||||
<li>obtaining LiveSupport sources</li>
|
||||
<li>compiling LiveSupport</li>
|
||||
<li>installing LiveSupport</li>
|
||||
<li>try it out</li>
|
||||
</ul>
|
||||
<h2>For the impatient</h2>
|
||||
Those who think they know everything, the quick steps to install
|
||||
LiveSupport are the following. (To run <code>make</code>, you need write
|
||||
permissions in the <code>prefix</code> directory; to run
|
||||
<code>make install</code> and <code>postInstallStation.sh</code>,
|
||||
you need to be root.)
|
||||
|
||||
<pre><code>
|
||||
wget http://switch.dl.sourceforge.net/sourceforge/livesupport/livesupport-<version>.tar.bz2
|
||||
wget http://switch.dl.sourceforge.net/sourceforge/livesupport/livesupport-libraries-<version>.tar.bz2
|
||||
tar xfj livesupport-<version>.tar.bz2
|
||||
tar xfj livesupport-libraries-<version>.tar.bz2
|
||||
cd livesupport-<version>
|
||||
./configure --prefix=/usr/local/livesupport --with-apache-group=apache --with-www-docroot=/var/www
|
||||
make
|
||||
make install
|
||||
./bin/postInstallStation.sh -d /usr/local/livesupport -g apache -r /var/www
|
||||
/usr/local/livesupport/bin/scheduler.sh start
|
||||
<br></code></pre>
|
||||
|
||||
Then try the URL <code>http://localhost/livesupport/</code>
|
||||
and log in using username: <code>root</code>, password: <code>q</code>.<br>
|
||||
<br>
|
||||
Everyone else, please read the lines below carefully.<br>
|
||||
<h1>Installing required compilation tools</h1>
|
||||
Make sure that all the <a href="developmentTools.html">required compilation
|
||||
tools and libraries</a> are installed. You can either install pre-packaged
|
||||
versions, if they are provided for your distribution; or you can download
|
||||
them from the URLs listed, and compile them yourself (follow the instructions
|
||||
included with each tool and library).<br>
|
||||
|
||||
<h1>Installing and configuring required external services</h1>
|
||||
LiveSupport depends on some external services to be able to run, most
|
||||
importantly a PHP-capable web server (we assume apache), and a database
|
||||
server (we assume PostgreSQL). <br>
|
||||
<h2>Database</h2>
|
||||
LiveSupport expects a <a href="http://www.postgresql.org/">PostgreSQL</a>
|
||||
database, version 7.4 or later, to be installed on your system. You will
|
||||
also need a postgresql driver for unixODBC; this may be in the unixODBC
|
||||
package, or may need to be installed separately.<br>
|
||||
<br>
|
||||
The database will be accessed through TCP/IP, usually via the localhost
|
||||
interface. To achieve this, make sure to make the following changes to
|
||||
the PostgreSQL configuration files.<br>
|
||||
<br>
|
||||
Edit <code>postgresql.conf</code>
|
||||
(usually <code>/var/lib/postgres/data/postgresql.conf</code>), to have
|
||||
to following line:<br>
|
||||
<br>
|
||||
<pre><code>tcpip_socket = true</code></pre>
|
||||
<br>
|
||||
and also edit <code>pg_hba.conf</code> (usually <code>/var/lib/postgres/data/pg_hba.conf</code>)
|
||||
to include the following line, before any other lines starting with "host":<br>
|
||||
<br>
|
||||
<pre><code>host all all 127.0.0.1 255.255.255.255 password<br><br></code></pre>
|
||||
These changes will make sure that the PostgreSQL database is accessible
|
||||
via TCP/IP from localhost.<br>
|
||||
<h2>Web server</h2>
|
||||
LiveSupport expects an apache web server with PHP and some additional
|
||||
PHP modules installed. In particular:
|
||||
<ul>
|
||||
<li><a href="http://httpd.apache.org/">Apache</a> httpd server,
|
||||
either version 1.x or 2.x<br>
|
||||
</li>
|
||||
<li><a href="http://www.php.net/">PHP</a> interpreter</li>
|
||||
<li><a href="http://www.php.net/">PHP</a> apache module</li>
|
||||
<li><a href="http://www.php.net/domxml">DOMXML</a> PHP extension - an
|
||||
XMLv2 module for PHP<br>
|
||||
</li>
|
||||
<li><a href="http://www.postgresql.org/">PostgreSQL</a> support in PHP</li>
|
||||
<li><a href="http://pear.php.net/">PEAR</a></li>
|
||||
</ul>
|
||||
|
||||
Check php.ini file if "upload_max_filesize" fits the needs of an radio-station. On our experience, soundfiles can be up to 100MB.
|
||||
If you changed this setting, increase "post_max_size" to something bigger than "upload_max_filesize".
|
||||
<br><br>
|
||||
Please note the user group your apache daemon is running as (usually <code>apache</code>
|
||||
or <code>www-data</code>), you will need this information later. Later
|
||||
on in this document, this group will be referred to as <code><apache-group></code>. For the automatic install scripts to work, the user
|
||||
running them must either be <code>root</code>, or belong to
|
||||
<code><apache-group></code>.<br>
|
||||
<br>
|
||||
Also note the document root directory for your apache installation
|
||||
(usually <code>/var/www</code> or <code>/var/www/htdocs</code>
|
||||
or <code>/var/www/<yourhost>/htdocs</code>). Later on in this
|
||||
document, this directory will be referred to as <code><www-root></code>.<br>
|
||||
|
||||
<h2>ALSA</h2>
|
||||
Please check if ALSA is installed and configured properly.
|
||||
File /proc/asound/cards should contain entry(s) for your soundcard(s).
|
||||
<br>
|
||||
If not, maybe you do not have suitable ALSA module for your soundcard on the system. Search you package manager for "alsa-modules" and figure out which are suitable for your kernel version and architecture.
|
||||
or one other from <a href="http://packages.debian.org/cgi-bin/search_packages.pl?version=stable&subword=1&exact=&arch=any&releases=all&case=insensitive&keywords=alsa-modules&searchon=names" target="_blank">http://packages.debian.org/cgi-bin/search_packages.pl...</a>.
|
||||
<br>
|
||||
Then run "alsaconf" and check /proc/asound/cards again.
|
||||
|
||||
|
||||
<h1>Obtaining LiveSupport sources</h1>
|
||||
LiveSupport sources come in two different tarballs:<br>
|
||||
<ul>
|
||||
<li><code>livesupport-<version>.tar.bz2</code> - the
|
||||
LiveSupport source files<code><br>
|
||||
</code></li>
|
||||
<li><code>livesupport-libraries-<version>.tar.bz2</code> -
|
||||
external libraries used by LiveSupport<code><br>
|
||||
</code></li>
|
||||
</ul>
|
||||
Both files can be downloaded from <a
|
||||
href="http://sourceforge.net/projects/livesupport/"><code>http://sourceforge.net/projects/livesupport/</code></a>.
|
||||
<br>
|
||||
<br>
|
||||
After downloading the files, untar them in the same directory:<br>
|
||||
<br>
|
||||
<pre><code>tar xfj livesupport-<version>.tar.bz2<br>tar xfj livesupport-libraries-<version>.tar.bz2<br></code></pre>
|
||||
<br>
|
||||
which will create a <code>livesupport-<version></code>
|
||||
directory, with all the required files to compile and install
|
||||
LiveSupport.<br>
|
||||
<h1>Compiling LiveSupport</h1>
|
||||
To compile LiveSupport, enter the LiveSupport directory, and execute
|
||||
the following commands:<br>
|
||||
<br>
|
||||
<pre><code>cd livesupport-<version><br>./configure </code><code>--prefix=/usr/local/livesupport --with-apache-group=apache --with-www-docroot=/var/www<br></code><code>make<br></code></pre>
|
||||
<br>
|
||||
Note that you need to have write permissions in the <code>prefix</code> directory
|
||||
when you run <code>make</code>.
|
||||
The configure options used above are the options most probably used:<br>
|
||||
<br>
|
||||
<pre><code> --prefix=PREFIX install architecture-independent files in PREFIX<br> [/usr/local]</code></pre>
|
||||
The installation directory. Supply the previously
|
||||
decided LiveSupport installation directory here, <code><ls-installdir></code>
|
||||
(as mentioned above). A sensible value to use here is <code>/usr/local/livesupport</code>.<br>
|
||||
<pre><code><br> --with-apache-group use apache running in the specified group (apache)<br><br></code></pre>
|
||||
The user group the apache web server daemon runs at (see the section
|
||||
above on installing apache). Supply the <code><apache-group></code>
|
||||
value here, as mentioned above, which is usually either <code>apache</code>
|
||||
or <code>www-data</code>.<br>
|
||||
<br>
|
||||
<pre> --with-www-docroot deploy LiveSupport under the specified docroot<br> (/var/www)<br><br></pre>
|
||||
The document root of your apache installation (see the section above on
|
||||
installing apache). Supply the <code><www-root></code>
|
||||
value here, as mentioned above, which is usually <code>/var/www</code>
|
||||
or <code>/var/www/htdocs</code>
|
||||
or <code>/var/www/<yourhost>/htdocs.</code>
|
||||
<span style="font-family: monospace;"><br>
|
||||
<br>
|
||||
</span>Compilation will take quite a while, so go have a tea, watch a
|
||||
movie, relax,
|
||||
etc.<br>
|
||||
<br>
|
||||
If you want the installation script to create the database tables used
|
||||
by LiveSupport, consider using the following configure options:<br>
|
||||
<br>
|
||||
<pre> --with-create-database specify whether the LiveSupport database and database<br> user should be created (no)<br> --with-create-odbc-data-source<br> specify whether the ODBC data source for LiveSupport<br> should be created (no)<br> --with-init-database specify whether the LiveSupport database tables<br> should be initialized (no)<br> --with-configure-apache specify whether apache should be configured for<br> LiveSupport through its conf.d directory (no)<br><br><br></pre>
|
||||
For a full list of options, see <code>./configure --help</code><br>
|
||||
<h1>Installing LiveSupport<br>
|
||||
</h1>
|
||||
After a successful compilation, to install LiveSupport, you can install
|
||||
LiveSupport by typing:<br>
|
||||
<br>
|
||||
<pre><code>make install</code><br></pre>
|
||||
<br>
|
||||
This will install LiveSupport into the directory specified to the
|
||||
configure script. It will also create necessary database tables,
|
||||
depending on the invocation of the configure script. You need to run
|
||||
<code>make install</code> as root.<br>
|
||||
<br>
|
||||
<h1>Try it out</h1>
|
||||
After a successful installation, the LiveSupport scheduler has to be
|
||||
started. The scheduler has a System V runlevel-style startup script,
|
||||
under <ls-installdir>/bin/scheduler.sh. To start the scheduler,
|
||||
simply invoke:<br>
|
||||
<br>
|
||||
<pre><code><ls-installdir>/bin/scheduler.sh start</code><br></pre>
|
||||
<br>
|
||||
The only thing left to do is to try out the LiveSupport web interface
|
||||
or the GUI application.<br>
|
||||
<br>
|
||||
For the web interface, point your browser to the following URL: <code>http://<yourhost>/livesupport/</code>
|
||||
.<br>
|
||||
<br>
|
||||
The GUI application can be started by issuing the following command:<br>
|
||||
<br>
|
||||
<pre><code><ls-installdir>/bin/gLiveSupport.sh</code><br></pre>
|
||||
<br>
|
||||
For your first login, use the following values:<br>
|
||||
<ul>
|
||||
<li>username: root</li>
|
||||
<li>password: q</li>
|
||||
</ul>
|
||||
Have fun!<br>
|
||||
<br>
|
||||
<br>
|
||||
<pre><code></code></pre>
|
||||
</body>
|
||||
</html>
|
|
@ -1,101 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
|
||||
<HTML>
|
||||
<HEAD>
|
||||
|
||||
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
|
||||
<TITLE></TITLE>
|
||||
<META NAME="GENERATOR" CONTENT="OpenOffice.org 1.1.3 (Win32)">
|
||||
<META NAME="CREATED" CONTENT="20050218;18422000">
|
||||
<META NAME="CHANGED" CONTENT="20050218;18520000">
|
||||
|
||||
<STYLE>
|
||||
<!--
|
||||
BODY,DIV,TABLE,THEAD,TBODY,TFOOT,TR,TH,TD,P { font-family:"Arial"; font-size:x-small }
|
||||
-->
|
||||
</STYLE>
|
||||
|
||||
</HEAD>
|
||||
|
||||
<BODY TEXT="#000000">
|
||||
<TABLE FRAME=VOID CELLSPACING=0 COLS=4 RULES=GROUPS BORDER=1>
|
||||
<COLGROUP><COL WIDTH=255><COL WIDTH=313><COL WIDTH=316><COL WIDTH=516></COLGROUP>
|
||||
<TBODY>
|
||||
<TR>
|
||||
<TD WIDTH=255 HEIGHT=17 ALIGN=LEFT><B>Key name</B></TD>
|
||||
<TD WIDTH=313 ALIGN=LEFT><B>Type</B></TD>
|
||||
<TD WIDTH=316 ALIGN=LEFT><B>Format</B></TD>
|
||||
<TD WIDTH=516 ALIGN=LEFT><B>Comment/Example</B></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD HEIGHT=17 ALIGN=LEFT><I>Station Preferences:</I></TD>
|
||||
<TD ALIGN=LEFT><BR></TD>
|
||||
<TD ALIGN=LEFT><BR></TD>
|
||||
<TD ALIGN=LEFT><I>Stored for group „StationPrefs“</I></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD HEIGHT=17 ALIGN=LEFT>stationMaxfilesize</TD>
|
||||
<TD ALIGN=LEFT>Int</TD>
|
||||
<TD ALIGN=LEFT><BR></TD>
|
||||
<TD ALIGN=LEFT>Size in bytes</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD HEIGHT=17 ALIGN=LEFT>stationFrequency</TD>
|
||||
<TD ALIGN=LEFT>String</TD>
|
||||
<TD ALIGN=LEFT><BR></TD>
|
||||
<TD ALIGN=LEFT>String because comma, minus</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD HEIGHT=17 ALIGN=LEFT>stationName</TD>
|
||||
<TD ALIGN=LEFT>String</TD>
|
||||
<TD ALIGN=LEFT><BR></TD>
|
||||
<TD ALIGN=LEFT><BR></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD HEIGHT=17 ALIGN=LEFT>stationLogoPath</TD>
|
||||
<TD ALIGN=LEFT>String</TD>
|
||||
<TD ALIGN=LEFT><BR></TD>
|
||||
<TD ALIGN=LEFT>Valid path and filename. Relative/absolute?</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD HEIGHT=17 ALIGN=LEFT>stationURL</TD>
|
||||
<TD ALIGN=LEFT>String</TD>
|
||||
<TD ALIGN=LEFT><BR></TD>
|
||||
<TD ALIGN=LEFT>Valid URL</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD HEIGHT=17 ALIGN=LEFT><BR></TD>
|
||||
<TD ALIGN=LEFT><BR></TD>
|
||||
<TD ALIGN=LEFT><BR></TD>
|
||||
<TD ALIGN=LEFT><BR></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD HEIGHT=17 ALIGN=LEFT><I>User Preferences:</I></TD>
|
||||
<TD ALIGN=LEFT><BR></TD>
|
||||
<TD ALIGN=LEFT><BR></TD>
|
||||
<TD ALIGN=LEFT><BR></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD HEIGHT=17 ALIGN=LEFT>scratchPadContents</TD>
|
||||
<TD ALIGN=LEFT>String</TD>
|
||||
<TD ALIGN=LEFT>$gunid:YYYY-MM-DD $gunid2:YYYY-MM-DD [...]</TD>
|
||||
<TD ALIGN=LEFT>7517812295906073177:2005-02-02 5680267281985233061:2005-01-15</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD HEIGHT=17 ALIGN=LEFT>playlistToken</TD>
|
||||
<TD ALIGN=LEFT>String</TD>
|
||||
<TD ALIGN=LEFT>$playlistId:$token</TD>
|
||||
<TD ALIGN=LEFT>23:28f641eb921c2cb5</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD HEIGHT=17 ALIGN=LEFT>TimeFormat</TD>
|
||||
<TD ALIGN=LEFT>Int</TD>
|
||||
<TD ALIGN=LEFT>12 | 24</TD>
|
||||
<TD ALIGN=LEFT><BR></TD>
|
||||
</TR>
|
||||
</TBODY>
|
||||
</TABLE>
|
||||
<!-- ************************************************************************** -->
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 8.2 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 64 KiB |
|
@ -1,179 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
|
||||
<svg stroke-width="1" stroke-dashoffset="0" font-size="12" stroke-dasharray="none" color-rendering="auto" font-weight="normal" color-interpolation="auto" stroke-linejoin="miter" fill="black" image-rendering="auto" font-family="'sansserif'" stroke-opacity="1" stroke-miterlimit="10" stroke="black" text-rendering="auto" font-style="normal" stroke-linecap="square" fill-opacity="1" shape-rendering="auto" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!--Generated by the Batik Graphics2D SVG Generator-->
|
||||
<defs id="genericDefs" />
|
||||
<g>
|
||||
<defs id="defs1">
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
|
||||
<path d="M60 20 L60 550 L730 550 L730 20 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
|
||||
<path d="M0 0 L0 530 L670 530 L670 0 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
|
||||
<path d="M-150 -60 L-150 470 L520 470 L520 -60 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
|
||||
<path d="M-152 -62 L-152 468 L518 468 L518 -62 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
|
||||
<path d="M-150 -77 L-150 453 L520 453 L520 -77 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
|
||||
<path d="M-520 -240 L-520 290 L150 290 L150 -240 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
|
||||
<path d="M-522 -242 L-522 288 L148 288 L148 -242 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
|
||||
<path d="M-520 -257 L-520 273 L150 273 L150 -257 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
|
||||
<path d="M-10 -230 L-10 300 L660 300 L660 -230 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
|
||||
<path d="M-12 -232 L-12 298 L658 298 L658 -232 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
|
||||
<path d="M-10 -247 L-10 283 L660 283 L660 -247 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
|
||||
<path d="M-270 -400 L-270 130 L400 130 L400 -400 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
|
||||
<path d="M-272 -402 L-272 128 L398 128 L398 -402 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
|
||||
<path d="M-270 -417 L-270 113 L400 113 L400 -417 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
|
||||
<path d="M-420 -10 L-420 520 L250 520 L250 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
|
||||
<path d="M-422 -12 L-422 518 L248 518 L248 -12 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
|
||||
<path d="M-420 -27 L-420 503 L250 503 L250 -27 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
|
||||
<path d="M-172.17543029785156 -558.8779907226562 L-416.0186462402344 -88.3033676147461 L178.8587188720703 219.95126342773438 L422.7019348144531 -250.6233673095703 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
|
||||
<path d="M403.0769348144531 265.3846130371094 L199.23077392578125 -223.84616088867188 L-419.23077392578125 33.846153259277344 L-215.38461303710938 523.076904296875 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
|
||||
<path d="M247 -150 L-283 -150 L-283 520 L247 520 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath21">
|
||||
<path d="M400 -280 L-130 -280 L-130 390 L400 390 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath22">
|
||||
<path d="M563.7422485351562 100.96875762939453 L429.9586181640625 -411.868408203125 L-218.34494018554688 -242.7457275390625 L-84.56133270263672 270.0914306640625 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath23">
|
||||
<path d="M302.1673583984375 -439.0152282714844 L-211.8700714111328 -309.9202575683594 L-48.674530029296875 339.9006652832031 L465.3629150390625 210.80567932128906 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath24">
|
||||
<path d="M240 -535 L-290 -535 L-290 135 L240 135 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath25">
|
||||
<path d="M-39.4243049621582 -286.27734375 L-250.15625 200.02713012695312 L364.60601806640625 466.4241027832031 L575.3379516601562 -19.88037109375 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath26">
|
||||
<path d="M-290 -90 L-290 440 L380 440 L380 -90 Z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,150,60)">
|
||||
<path d="M0.5 0.5 L55.57275390625 0.5 L55.57275390625 17.5 L0.5 17.5 Z" clip-path="url(#clipPath3)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,152,62)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath4)">Scheduler</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,150,77)">
|
||||
<path d="M0.5 0.5 L139.5 0.5 L139.5 102.5 L0.5 102.5 Z" stroke="none" clip-path="url(#clipPath5)" />
|
||||
<path d="M0.5 0.5 L139.5 0.5 L139.5 102.5 L0.5 102.5 Z" stroke="black" clip-path="url(#clipPath5)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,520,240)">
|
||||
<path d="M0.5 0.5 L74.53271484375 0.5 L74.53271484375 17.5 L0.5 17.5 Z" stroke="none" clip-path="url(#clipPath6)" />
|
||||
<path d="M0.5 0.5 L74.53271484375 0.5 L74.53271484375 17.5 L0.5 17.5 Z" stroke="black" clip-path="url(#clipPath6)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,522,242)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath7)">Local storage</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,520,257)">
|
||||
<path d="M0.5 0.5 L139.5 0.5 L139.5 102.5 L0.5 102.5 Z" stroke="none" clip-path="url(#clipPath8)" />
|
||||
<path d="M0.5 0.5 L139.5 0.5 L139.5 102.5 L0.5 102.5 Z" stroke="black" clip-path="url(#clipPath8)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,10,230)">
|
||||
<path d="M0.5 0.5 L76.79930114746094 0.5 L76.79930114746094 17.5 L0.5 17.5 Z" stroke="none" clip-path="url(#clipPath9)" />
|
||||
<path d="M0.5 0.5 L76.79930114746094 0.5 L76.79930114746094 17.5 L0.5 17.5 Z" stroke="black" clip-path="url(#clipPath9)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,12,232)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath10)">Media archive</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,10,247)">
|
||||
<path d="M0.5 0.5 L139.5 0.5 L139.5 102.5 L0.5 102.5 Z" stroke="none" clip-path="url(#clipPath11)" />
|
||||
<path d="M0.5 0.5 L139.5 0.5 L139.5 102.5 L0.5 102.5 Z" stroke="black" clip-path="url(#clipPath11)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,270,400)">
|
||||
<path d="M0.5 0.5 L81.6923828125 0.5 L81.6923828125 17.5 L0.5 17.5 Z" stroke="none" clip-path="url(#clipPath12)" />
|
||||
<path d="M0.5 0.5 L81.6923828125 0.5 L81.6923828125 17.5 L0.5 17.5 Z" stroke="black" clip-path="url(#clipPath12)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,272,402)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath13)">Authentication</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,270,417)">
|
||||
<path d="M0.5 0.5 L139.5 0.5 L139.5 102.5 L0.5 102.5 Z" stroke="none" clip-path="url(#clipPath14)" />
|
||||
<path d="M0.5 0.5 L139.5 0.5 L139.5 102.5 L0.5 102.5 Z" stroke="black" clip-path="url(#clipPath14)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,420,10)">
|
||||
<path d="M0.5 0.5 L75.74658203125 0.5 L75.74658203125 17.5 L0.5 17.5 Z" stroke="none" clip-path="url(#clipPath15)" />
|
||||
<path d="M0.5 0.5 L75.74658203125 0.5 L75.74658203125 17.5 L0.5 17.5 Z" stroke="black" clip-path="url(#clipPath15)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,422,12)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath16)">Playlist editor</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,420,27)">
|
||||
<path d="M0.5 0.5 L139.5 0.5 L139.5 102.5 L0.5 102.5 Z" stroke="none" clip-path="url(#clipPath17)" />
|
||||
<path d="M0.5 0.5 L139.5 0.5 L139.5 102.5 L0.5 102.5 Z" stroke="black" clip-path="url(#clipPath17)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-dasharray="5,10" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,-60,-20)">
|
||||
<path d="M580 380 L470 437" clip-path="url(#clipPath1)" fill="none" />
|
||||
<path d="M10 5 L0 0 L10 -5" stroke-dasharray="none" stroke-miterlimit="10" clip-path="url(#clipPath18)" fill="none" stroke-linecap="square" transform="matrix(0.8878766650334321,-0.4600815446082472,0.4600815446082472,0.8878766650334321,470,437)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-dasharray="5,10" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,-60,-20)">
|
||||
<path d="M210 370 L330 420" clip-path="url(#clipPath1)" fill="none" />
|
||||
<path d="M10 5 L0 0 L10 -5" stroke-dasharray="none" stroke-miterlimit="10" clip-path="url(#clipPath19)" fill="none" stroke-linecap="square" transform="matrix(-0.9230769230769345,-0.38461538461535705,0.38461538461535705,-0.9230769230769345,330,420)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-dasharray="5,10" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,-60,-20)">
|
||||
<path d="M210 200 L210 267" clip-path="url(#clipPath1)" fill="none" />
|
||||
<path d="M10 5 L0 0 L10 -5" stroke-dasharray="none" stroke-miterlimit="10" clip-path="url(#clipPath20)" fill="none" stroke-linecap="square" transform="matrix(5.88418203051333E-15,-1,1,5.88418203051333E-15,210,267)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-dasharray="5,10" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,-60,-20)">
|
||||
<path d="M340 200 L340 420" clip-path="url(#clipPath1)" fill="none" />
|
||||
<path d="M10 5 L0 0 L10 -5" stroke-dasharray="none" stroke-miterlimit="10" clip-path="url(#clipPath21)" fill="none" stroke-linecap="square" transform="matrix(-2.653433028854124E-14,-1,1,-2.653433028854124E-14,340,420)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-dasharray="5,10" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,-60,-20)">
|
||||
<path d="M350 200 L580 260" clip-path="url(#clipPath1)" fill="none" />
|
||||
<path d="M10 5 L0 0 L10 -5" stroke-dasharray="none" stroke-miterlimit="10" clip-path="url(#clipPath22)" fill="none" stroke-linecap="square" transform="matrix(-0.9676172723968477,-0.2524218971469878,0.2524218971469878,-0.9676172723968477,580,260)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-dasharray="5,10" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,-60,-20)">
|
||||
<path d="M480 150 L412.1924133300781 420" clip-path="url(#clipPath1)" fill="none" />
|
||||
<path d="M10 5 L0 0 L10 -5" stroke-dasharray="none" stroke-miterlimit="10" clip-path="url(#clipPath23)" fill="none" stroke-linecap="square" transform="matrix(0.24357543580434315,-0.9698819552258534,0.9698819552258534,0.24357543580434315,412.1924,420)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-dasharray="5,10" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,-60,-20)">
|
||||
<path d="M595 150 L595 260" clip-path="url(#clipPath1)" fill="none" />
|
||||
<path d="M10 5 L0 0 L10 -5" stroke-dasharray="none" stroke-miterlimit="10" clip-path="url(#clipPath24)" fill="none" stroke-linecap="square" transform="matrix(0,-1,1,0,595,260)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-dasharray="5,10" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,-60,-20)">
|
||||
<path d="M480 150 L210 267" clip-path="url(#clipPath1)" fill="none" />
|
||||
<path d="M10 5 L0 0 L10 -5" stroke-dasharray="none" stroke-miterlimit="10" clip-path="url(#clipPath25)" fill="none" stroke-linecap="square" transform="matrix(0.917555625309924,-0.39760743763430084,0.39760743763430084,0.917555625309924,210,267)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-dasharray="5,10" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,-60,-20)">
|
||||
<path d="M480 110 L350 110" clip-path="url(#clipPath1)" fill="none" />
|
||||
<path d="M10 5 L0 0 L10 -5" stroke-dasharray="none" stroke-miterlimit="10" clip-path="url(#clipPath26)" fill="none" stroke-linecap="square" transform="matrix(1,0,0,1,350,110)" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 18 KiB |
|
@ -1,139 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
|
||||
<svg stroke-width="1" stroke-dashoffset="0" font-size="12" stroke-dasharray="none" color-rendering="auto" font-weight="normal" color-interpolation="auto" stroke-linejoin="miter" fill="black" image-rendering="auto" font-family="'sansserif'" stroke-opacity="1" stroke-miterlimit="10" stroke="black" text-rendering="auto" font-style="normal" stroke-linecap="square" fill-opacity="1" shape-rendering="auto" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!--Generated by the Batik Graphics2D SVG Generator-->
|
||||
<defs id="genericDefs" />
|
||||
<g>
|
||||
<defs id="defs1">
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
|
||||
<path d="M72 10 L72 116 L572 116 L572 10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
|
||||
<path d="M0 0 L0 106 L500 106 L500 0 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
|
||||
<path d="M-28 -10 L-28 96 L472 96 L472 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
|
||||
<path d="M-12.798800468444824 -42 L-12.798800468444824 64 L487.2012023925781 64 L487.2012023925781 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
|
||||
<path d="M-35.862300872802734 -42 L-35.862300872802734 64 L464.1376953125 64 L464.1376953125 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
|
||||
<path d="M-39.34270095825195 -42 L-39.34270095825195 64 L460.65728759765625 64 L460.65728759765625 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
|
||||
<path d="M-358 -10 L-358 96 L142 96 L142 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
|
||||
<path d="M-364 -16 L-364 90 L136 90 L136 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
|
||||
<path d="M-401.4740905761719 -16 L-401.4740905761719 90 L98.5259017944336 90 L98.5259017944336 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
|
||||
<path d="M-404.95458984375 -16 L-404.95458984375 90 L95.04540252685547 90 L95.04540252685547 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
|
||||
<path d="M-418.573486328125 -75 L-418.573486328125 31 L81.42649841308594 31 L81.42649841308594 -75 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
|
||||
<path d="M418.573486328125 75 L418.573486328125 -31 L-81.42649841308594 -31 L-81.42649841308594 75 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
|
||||
<path d="M-121.2926025390625 -51 L-121.2926025390625 55 L378.7073974609375 55 L378.7073974609375 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
|
||||
<path d="M-126.77310180664062 -51 L-126.77310180664062 55 L373.2268981933594 55 L373.2268981933594 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
|
||||
<path d="M-132.2534942626953 -51 L-132.2534942626953 55 L367.7464904785156 55 L367.7464904785156 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
|
||||
<path d="M-205.2198028564453 -51 L-205.2198028564453 55 L294.78021240234375 55 L294.78021240234375 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
|
||||
<path d="M-217.44439697265625 -51 L-217.44439697265625 55 L282.55560302734375 55 L282.55560302734375 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
|
||||
<path d="M-283.4873962402344 -51 L-283.4873962402344 55 L216.51260375976562 55 L216.51260375976562 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
|
||||
<path d="M-287.06451416015625 -51 L-287.06451416015625 55 L212.9355010986328 55 L212.9355010986328 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
|
||||
<path d="M-331.7037048339844 -51 L-331.7037048339844 55 L168.29629516601562 55 L168.29629516601562 -51 Z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g color-rendering="optimizeQuality" stroke-dasharray="5,5" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,28,10)">
|
||||
<path d="M10.5 48.5 L10.5 85.5" clip-path="url(#clipPath3)" fill="none" />
|
||||
<path d="M10 8 C5 8 5 0 10 0 C15 0 15 8 10 8 M10 8 L10 10 M0 10 L20 10 M10 10 L10 20 M10 20 L0 30 M10 20 L20 30" stroke="none" clip-path="url(#clipPath3)" fill="white" />
|
||||
<path d="M10 8 C5 8 5 0 10 0 C15 0 15 8 10 8 M10 8 L10 10 M0 10 L20 10 M10 10 L10 20 M10 20 L0 30 M10 20 L20 30" stroke-dasharray="none" clip-path="url(#clipPath3)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,12.7988,42)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath4)">user</text>
|
||||
<line x1="0" y1="12.5" x2="23.0634765625" y2="12.5" clip-path="url(#clipPath4)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,35.862300000000005,42)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath5)">:</text>
|
||||
<line x1="0" y1="12.5" x2="3.48046875" y2="12.5" clip-path="url(#clipPath5)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,39.3427,42)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath6)">User</text>
|
||||
<line x1="0" y1="12.5" x2="23.8583984375" y2="12.5" clip-path="url(#clipPath6)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,358,10)">
|
||||
<path d="M66.07350158691406 0.5 L66.07350158691406 85.5" stroke="none" clip-path="url(#clipPath7)" />
|
||||
<path d="M66.07350158691406 0.5 L66.07350158691406 85.5" stroke-dasharray="5,5" stroke="black" clip-path="url(#clipPath7)" fill="none" />
|
||||
<path d="M0.5 0.5 L130.64700317382812 0.5 L130.64700317382812 25.5 L0.5 25.5 Z" stroke-dasharray="5,5" stroke="none" clip-path="url(#clipPath7)" />
|
||||
<path d="M0.5 0.5 L130.64700317382812 0.5 L130.64700317382812 25.5 L0.5 25.5 Z" stroke="black" clip-path="url(#clipPath7)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,364,16)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath8)">system</text>
|
||||
<line x1="0" y1="12.5" x2="37.47412109375" y2="12.5" clip-path="url(#clipPath8)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,401.4741,16)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath9)">:</text>
|
||||
<line x1="0" y1="12.5" x2="3.48046875" y2="12.5" clip-path="url(#clipPath9)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,404.9546,16)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath10)">Authentication</text>
|
||||
<line x1="0" y1="12.5" x2="78.1923828125" y2="12.5" clip-path="url(#clipPath10)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,418.5735,75)">
|
||||
<path d="M0.5 0.5 L9.5 0.5 L9.5 20.5 L0.5 20.5 Z" stroke="none" clip-path="url(#clipPath11)" />
|
||||
<path d="M0.5 0.5 L9.5 0.5 L9.5 20.5 L0.5 20.5 Z" stroke="black" clip-path="url(#clipPath11)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,-72,-10)">
|
||||
<path d="M110 85 L490.573486328125 85" clip-path="url(#clipPath1)" fill="none" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke="none" clip-path="url(#clipPath12)" transform="matrix(-1,0,0,-1,490.5735,85)" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke-miterlimit="10" clip-path="url(#clipPath12)" fill="none" stroke-linecap="square" transform="matrix(-1,0,0,-1,490.5735,85)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,121.2926,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath13)"> </text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,126.7731,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath14)">:</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,132.2535,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath15)">authenticated</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,205.21980000000002,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath16)">:=</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,217.4444,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath17)">authenticate</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,283.4874,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath18)">(</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,287.0645,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath19)">authInfo</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,331.7037,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath20)">)</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 13 KiB |
|
@ -1,259 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
|
||||
<svg stroke-width="1" stroke-dashoffset="0" font-size="12" stroke-dasharray="none" color-rendering="auto" font-weight="normal" color-interpolation="auto" stroke-linejoin="miter" fill="black" image-rendering="auto" font-family="'sansserif'" stroke-opacity="1" stroke-miterlimit="10" stroke="black" text-rendering="auto" font-style="normal" stroke-linecap="square" fill-opacity="1" shape-rendering="auto" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!--Generated by the Batik Graphics2D SVG Generator-->
|
||||
<defs id="genericDefs" />
|
||||
<g>
|
||||
<defs id="defs1">
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
|
||||
<path d="M140 30 L140 590 L700 590 L700 30 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
|
||||
<path d="M0 0 L0 560 L560 560 L560 0 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
|
||||
<path d="M-10 -10 L-10 550 L550 550 L550 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
|
||||
<path d="M-229.39329528808594 -12 L-229.39329528808594 548 L330.606689453125 548 L330.606689453125 -12 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
|
||||
<path d="M-249.88160705566406 -12 L-249.88160705566406 548 L310.118408203125 548 L310.118408203125 -12 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
|
||||
<path d="M-313.118408203125 -12 L-313.118408203125 548 L246.88160705566406 548 L246.88160705566406 -12 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
|
||||
<path d="M-240.90379333496094 -28 L-240.90379333496094 532 L319.09619140625 532 L319.09619140625 -28 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
|
||||
<path d="M-60 -270 L-60 290 L500 290 L500 -270 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
|
||||
<path d="M-63 -273 L-63 287 L497 287 L497 -273 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
|
||||
<path d="M-61 -289 L-61 271 L499 271 L499 -289 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
|
||||
<path d="M-61 -314 L-61 246 L499 246 L499 -314 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
|
||||
<path d="M-270 -350 L-270 210 L290 210 L290 -350 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
|
||||
<path d="M-215.79100036621094 -380 L-215.79100036621094 180 L344.2090148925781 180 L344.2090148925781 -380 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
|
||||
<path d="M-50 -70 L-50 490 L510 490 L510 -70 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
|
||||
<path d="M-53 -73 L-53 487 L507 487 L507 -73 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
|
||||
<path d="M-51 -89 L-51 471 L509 471 L509 -89 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
|
||||
<path d="M-51 -114 L-51 446 L509 446 L509 -114 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
|
||||
<path d="M-330 -180 L-330 380 L230 380 L230 -180 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
|
||||
<path d="M-338.341796875 -183 L-338.341796875 377 L221.658203125 377 L221.658203125 -183 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
|
||||
<path d="M-331 -199 L-331 361 L229 361 L229 -199 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath21">
|
||||
<path d="M-331 -224 L-331 336 L229 336 L229 -224 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath22">
|
||||
<path d="M-10 -46 L-10 514 L550 514 L550 -46 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath23">
|
||||
<path d="M-287.5 -391.5 L-287.5 168.5 L272.5 168.5 L272.5 -391.5 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath24">
|
||||
<path d="M270 -130 L-290 -130 L-290 430 L270 430 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath25">
|
||||
<path d="M-118.24810028076172 -243.0095977783203 L-118.24810028076172 316.9903869628906 L441.75189208984375 316.9903869628906 L441.75189208984375 -243.0095977783203 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath26">
|
||||
<path d="M-86.9677963256836 -198 L-86.9677963256836 362 L473.0321960449219 362 L473.0321960449219 -198 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath27">
|
||||
<path d="M-223.21859741210938 -81.1190414428711 L-67.47184753417969 456.78704833984375 L470.4342346191406 301.040283203125 L314.6874694824219 -236.8657989501953 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath28">
|
||||
<path d="M-263.7066955566406 -137.5386962890625 L-263.7066955566406 422.4613037109375 L296.2933044433594 422.4613037109375 L296.2933044433594 -137.5386962890625 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath29">
|
||||
<path d="M-250 -480 L-250 80 L310 80 L310 -480 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath30">
|
||||
<path d="M-287.1174011230469 -483 L-287.1174011230469 77 L272.8825988769531 77 L272.8825988769531 -483 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath31">
|
||||
<path d="M-251 -499 L-251 61 L309 61 L309 -499 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath32">
|
||||
<path d="M-251 -524 L-251 36 L309 36 L309 -524 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath33">
|
||||
<path d="M-397 282.5 L163 282.5 L163 -277.5 L-397 -277.5 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath34">
|
||||
<path d="M-292.5 -431.5 L-292.5 128.5 L267.5 128.5 L267.5 -431.5 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath35">
|
||||
<path d="M-340 140 L220 140 L220 -420 L-340 -420 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath36">
|
||||
<path d="M-172.7888946533203 -444.1612854003906 L-172.7888946533203 115.83869934082031 L387.2110900878906 115.83869934082031 L387.2110900878906 -444.1612854003906 Z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,10,10)">
|
||||
<path d="M0.5 0.5 L539.5 0.5 L539.5 389.5 L0.5 389.5 Z" clip-path="url(#clipPath3)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,229.3933,12)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath4)"><<</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,249.88160000000002,12)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath5)">component</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,313.1184,12)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath6)">>></text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,240.9038,28)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath7)">Authentication</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,60,270)">
|
||||
<path d="M0.5 0.5 L111.27290344238281 0.5 L111.27290344238281 69.5 L0.5 69.5 Z" stroke="none" clip-path="url(#clipPath8)" />
|
||||
<path d="M0.5 0.5 L111.27290344238281 0.5 L111.27290344238281 69.5 L0.5 69.5 Z" stroke="black" clip-path="url(#clipPath8)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,63,273)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath9)">AuthenticationInfo</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,61,289)">
|
||||
<path d="M0.5 0.5 L109.27290344238281 0.5 L109.27290344238281 0.5 L0.5 0.5 Z" stroke="none" clip-path="url(#clipPath10)" />
|
||||
<path d="M0.5 0.5 L109.27290344238281 0.5 L109.27290344238281 0.5 L0.5 0.5 Z" stroke="black" clip-path="url(#clipPath10)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,61,314)">
|
||||
<path d="M0.5 0.5 L109.27290344238281 0.5 L109.27290344238281 0.5 L0.5 0.5 Z" stroke="none" clip-path="url(#clipPath11)" />
|
||||
<path d="M0.5 0.5 L109.27290344238281 0.5 L109.27290344238281 0.5 L0.5 0.5 Z" stroke="black" clip-path="url(#clipPath11)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,270,350)">
|
||||
<path d="M21 12.5 C21 17.194419860839844 17.194419860839844 21 12.5 21 C7.805579662322998 21 4 17.194419860839844 4 12.5 C4 7.805579662322998 7.805579662322998 4 12.5 4 C17.194419860839844 4 21 7.805579662322998 21 12.5 Z" fill-rule="evenodd" stroke="none" clip-path="url(#clipPath12)" />
|
||||
<path d="M21 12.5 C21 17.194419860839844 17.194419860839844 21 12.5 21 C7.805579662322998 21 4 17.194419860839844 4 12.5 C4 7.805579662322998 7.805579662322998 4 12.5 4 C17.194419860839844 4 21 7.805579662322998 21 12.5 Z" fill-rule="evenodd" stroke="black" clip-path="url(#clipPath12)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,215.791,380)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath13)">AuthenticationInterface</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,50,70)">
|
||||
<path d="M0.5 0.5 L141.35110473632812 0.5 L141.35110473632812 69.5 L0.5 69.5 Z" stroke="none" clip-path="url(#clipPath14)" />
|
||||
<path d="M0.5 0.5 L141.35110473632812 0.5 L141.35110473632812 69.5 L0.5 69.5 Z" stroke="black" clip-path="url(#clipPath14)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,53,73)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath15)">AuthenticationDatabase</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,51,89)">
|
||||
<path d="M0.5 0.5 L139.35110473632812 0.5 L139.35110473632812 0.5 L0.5 0.5 Z" stroke="none" clip-path="url(#clipPath16)" />
|
||||
<path d="M0.5 0.5 L139.35110473632812 0.5 L139.35110473632812 0.5 L0.5 0.5 Z" stroke="black" clip-path="url(#clipPath16)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,51,114)">
|
||||
<path d="M0.5 0.5 L139.35110473632812 0.5 L139.35110473632812 0.5 L0.5 0.5 Z" stroke="none" clip-path="url(#clipPath17)" />
|
||||
<path d="M0.5 0.5 L139.35110473632812 0.5 L139.35110473632812 0.5 L0.5 0.5 Z" stroke="black" clip-path="url(#clipPath17)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,330,180)">
|
||||
<path d="M0.5 0.5 L99.5 0.5 L99.5 69.5 L0.5 69.5 Z" stroke="none" clip-path="url(#clipPath18)" />
|
||||
<path d="M0.5 0.5 L99.5 0.5 L99.5 69.5 L0.5 69.5 Z" stroke="black" clip-path="url(#clipPath18)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,338.3418,183)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath19)">Authentication</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,331,199)">
|
||||
<path d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" clip-path="url(#clipPath20)" />
|
||||
<path d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="black" clip-path="url(#clipPath20)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,331,224)">
|
||||
<path d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" clip-path="url(#clipPath21)" />
|
||||
<path d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="black" clip-path="url(#clipPath21)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,10,46)">
|
||||
<path d="M272.5 354 L272.5 351" clip-path="url(#clipPath22)" fill="none" />
|
||||
<text x="0" y="11" xml:space="preserve" font-weight="normal" stroke-miterlimit="10" stroke="none" clip-path="url(#clipPath23)" stroke-linecap="square" transform="matrix(1,0,0,1,277.5,345.5)"> </text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,10,46)">
|
||||
<path d="M320 204 L277.3622131347656 304.9844055175781" clip-path="url(#clipPath22)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,10,46)">
|
||||
<path d="M120 94 L120 224" clip-path="url(#clipPath22)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(0,-1,1,0,130,270)">
|
||||
<path d="M10 -5 L0 0 ZM10 5 L0 0 Z" stroke="none" clip-path="url(#clipPath24)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(0,-1,1,0,130,270)">
|
||||
<path d="M10 -5 L0 0 ZM10 5 L0 0 Z" clip-path="url(#clipPath24)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,118.2481,243.0096)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath25)">*</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,86.9678,198)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath26)">Stores</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,10,46)">
|
||||
<path d="M320 134 L181.85110473632812 94" clip-path="url(#clipPath22)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(0.960546566357187,0.2781192080015656,-0.2781192080015656,0.960546566357187,191.8511,140)">
|
||||
<path d="M10 -5 L0 0 ZM10 5 L0 0 Z" stroke="none" clip-path="url(#clipPath27)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(0.960546566357187,0.2781192080015656,-0.2781192080015656,0.960546566357187,191.8511,140)">
|
||||
<path d="M10 -5 L0 0 ZM10 5 L0 0 Z" clip-path="url(#clipPath27)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,263.7067,137.5387)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath28)">Checks authentication info in</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,250,480)">
|
||||
<path d="M0.5 0.5 L99.5 0.5 L99.5 69.5 L0.5 69.5 Z" stroke="none" clip-path="url(#clipPath29)" />
|
||||
<path d="M0.5 0.5 L99.5 0.5 L99.5 69.5 L0.5 69.5 Z" stroke="black" clip-path="url(#clipPath29)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,287.1174,483)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath30)">User</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,251,499)">
|
||||
<path d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" clip-path="url(#clipPath31)" />
|
||||
<path d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="black" clip-path="url(#clipPath31)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,251,524)">
|
||||
<path d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" clip-path="url(#clipPath32)" />
|
||||
<path d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="black" clip-path="url(#clipPath32)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,-140,-30)">
|
||||
<path d="M422.5 510 L422.5 427" clip-path="url(#clipPath1)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(0,1,-1,0,282.5,397)">
|
||||
<path d="M10 -5 L0 0 ZM10 5 L0 0 Z" stroke="none" clip-path="url(#clipPath33)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(0,1,-1,0,282.5,397)">
|
||||
<path d="M10 -5 L0 0 ZM10 5 L0 0 Z" clip-path="url(#clipPath33)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,292.5,431.5)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath34)">Authenticates by</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,-140,-30)">
|
||||
<path d="M390 510 L280 490 L280 370" clip-path="url(#clipPath1)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(0,1,-1,0,140,340)">
|
||||
<path d="M10 -5 L0 0 ZM10 5 L0 0 Z" stroke="none" clip-path="url(#clipPath35)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(0,1,-1,0,140,340)">
|
||||
<path d="M10 -5 L0 0 ZM10 5 L0 0 Z" clip-path="url(#clipPath35)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,172.7889,444.1613)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath36)">Contains</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 26 KiB |
|
@ -1,63 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
|
||||
<svg stroke-width="1" stroke-dashoffset="0" font-size="12" stroke-dasharray="none" color-rendering="auto" font-weight="normal" color-interpolation="auto" stroke-linejoin="miter" fill="black" image-rendering="auto" font-family="'sansserif'" stroke-opacity="1" stroke-miterlimit="10" stroke="black" text-rendering="auto" font-style="normal" stroke-linecap="square" fill-opacity="1" shape-rendering="auto" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!--Generated by the Batik Graphics2D SVG Generator-->
|
||||
<defs id="genericDefs" />
|
||||
<g>
|
||||
<defs id="defs1">
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
|
||||
<path d="M60 70 L60 310 L510 310 L510 70 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
|
||||
<path d="M0 0 L0 240 L450 240 L450 0 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
|
||||
<path d="M-180 -10 L-180 230 L270 230 L270 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
|
||||
<path d="M-182 -12 L-182 228 L268 228 L268 -12 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
|
||||
<path d="M-180 -27 L-180 213 L270 213 L270 -27 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
|
||||
<path d="M-220 -90 L-220 150 L230 150 L230 -90 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
|
||||
<path d="M-251.7801971435547 -106 L-251.7801971435547 134 L198.2198028564453 134 L198.2198028564453 -106 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
|
||||
<path d="M-10 -80 L-10 160 L440 160 L440 -80 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
|
||||
<path d="M-23.07080078125 -165 L-23.07080078125 75 L426.92919921875 75 L426.92919921875 -165 Z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,180,10)">
|
||||
<path d="M0.5 0.5 L81.69239807128906 0.5 L81.69239807128906 17.5 L0.5 17.5 Z" clip-path="url(#clipPath3)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,182,12)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath4)">Authentication</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,180,27)">
|
||||
<path d="M0.5 0.5 L259.1951904296875 0.5 L259.1951904296875 202.5 L0.5 202.5 Z" stroke="none" clip-path="url(#clipPath5)" />
|
||||
<path d="M0.5 0.5 L259.1951904296875 0.5 L259.1951904296875 202.5 L0.5 202.5 Z" stroke="black" clip-path="url(#clipPath5)" fill="none" />
|
||||
<ellipse cx="94.8476" cy="25" rx="94.8476" ry="25" stroke="none" clip-path="url(#clipPath6)" transform="matrix(1,0,0,1,40,63)" />
|
||||
<ellipse cx="94.8476" cy="25" rx="94.8476" ry="25" stroke="black" clip-path="url(#clipPath6)" fill="none" transform="matrix(1,0,0,1,40,63)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,251.7802,106)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath7)">UC-1 Authenticate user</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,10,80)">
|
||||
<path d="M25 21.33333396911621 C12.5 21.33333396911621 12.5 0 25 0 C37.5 0 37.5 21.33333396911621 25 21.33333396911621 M25 21.33333396911621 L25 26.66666603088379 M0 26.66666603088379 L50 26.66666603088379 M25 26.66666603088379 L25 53.33333206176758 M25 53.33333206176758 L0 80 M25 53.33333206176758 L50 80" stroke="none" clip-path="url(#clipPath8)" />
|
||||
<path d="M25 21.33333396911621 C12.5 21.33333396911621 12.5 0 25 0 C37.5 0 37.5 21.33333396911621 25 21.33333396911621 M25 21.33333396911621 L25 26.66666603088379 M0 26.66666603088379 L50 26.66666603088379 M25 26.66666603088379 L25 53.33333206176758 M25 53.33333206176758 L0 80 M25 53.33333206176758 L50 80" stroke="black" clip-path="url(#clipPath8)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,23.0708,165)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath9)">User</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,-60,-70)">
|
||||
<path d="M120 185 L280 185" clip-path="url(#clipPath1)" fill="none" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 5.9 KiB |
|
@ -1,145 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
|
||||
<svg stroke-width="1" stroke-dashoffset="0" font-size="12" stroke-dasharray="none" color-rendering="auto" font-weight="normal" color-interpolation="auto" stroke-linejoin="miter" fill="black" image-rendering="auto" font-family="'sansserif'" stroke-opacity="1" stroke-miterlimit="10" stroke="black" text-rendering="auto" font-style="normal" stroke-linecap="square" fill-opacity="1" shape-rendering="auto" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!--Generated by the Batik Graphics2D SVG Generator-->
|
||||
<defs id="genericDefs" />
|
||||
<g>
|
||||
<defs id="defs1">
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
|
||||
<path d="M120 110 L120 330 L426 330 L426 110 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
|
||||
<path d="M0 0 L0 220 L306 220 L306 0 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
|
||||
<path d="M-110 -140 L-110 80 L196 80 L196 -140 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
|
||||
<path d="M-118.341796875 -143 L-118.341796875 77 L187.658203125 77 L187.658203125 -143 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
|
||||
<path d="M-111 -159 L-111 61 L195 61 L195 -159 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
|
||||
<path d="M-111 -184 L-111 36 L195 36 L195 -184 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
|
||||
<path d="M-10 -10 L-10 210 L296 210 L296 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
|
||||
<path d="M-85.879638671875 -13 L-85.879638671875 207 L220.120361328125 207 L220.120361328125 -13 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
|
||||
<path d="M-11 -29 L-11 191 L295 191 L295 -29 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
|
||||
<path d="M-15 -34 L-15 186 L291 186 L291 -34 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
|
||||
<path d="M-23.744140625 -34 L-23.744140625 186 L282.255859375 186 L282.255859375 -34 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
|
||||
<path d="M-89.787109375 -34 L-89.787109375 186 L216.212890625 186 L216.212890625 -34 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
|
||||
<path d="M-93.3642578125 -34 L-93.3642578125 186 L212.6357421875 186 L212.6357421875 -34 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
|
||||
<path d="M-138.00341796875 -34 L-138.00341796875 186 L167.99658203125 186 L167.99658203125 -34 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
|
||||
<path d="M-141.48388671875 -34 L-141.48388671875 186 L164.51611328125 186 L164.51611328125 -34 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
|
||||
<path d="M-240.47314453125 -34 L-240.47314453125 186 L65.52685546875 186 L65.52685546875 -34 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
|
||||
<path d="M-244.05029296875 -34 L-244.05029296875 186 L61.94970703125 186 L61.94970703125 -34 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
|
||||
<path d="M-247.53076171875 -34 L-247.53076171875 186 L58.46923828125 186 L58.46923828125 -34 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
|
||||
<path d="M-61.114498138427734 -98 L-61.114498138427734 122 L244.885498046875 122 L244.885498046875 -98 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
|
||||
<path d="M-81.60279846191406 -98 L-81.60279846191406 122 L224.39720153808594 122 L224.39720153808594 -98 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath21">
|
||||
<path d="M-120.10030364990234 -98 L-120.10030364990234 122 L185.8997039794922 122 L185.8997039794922 -98 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath22">
|
||||
<path d="M-70 142.58859252929688 L150 142.58859252929688 L150 -163.41140747070312 L-70 -163.41140747070312 Z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,110,140)">
|
||||
<path d="M0.5 0.5 L99.5 0.5 L99.5 69.5 L0.5 69.5 Z" clip-path="url(#clipPath3)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,118.3418,143)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath4)">Authentication</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,111,159)">
|
||||
<path d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" clip-path="url(#clipPath5)" />
|
||||
<path d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="black" clip-path="url(#clipPath5)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,111,184)">
|
||||
<path d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" clip-path="url(#clipPath6)" />
|
||||
<path d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="black" clip-path="url(#clipPath6)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,10,10)">
|
||||
<path d="M0.5 0.5 L284.67718505859375 0.5 L284.67718505859375 59.5 L0.5 59.5 Z" stroke="none" clip-path="url(#clipPath7)" />
|
||||
<path d="M0.5 0.5 L284.67718505859375 0.5 L284.67718505859375 59.5 L0.5 59.5 Z" stroke="black" clip-path="url(#clipPath7)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,85.879638671875,13)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath8)">AuthenticationInterface</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" font-weight="bold" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,11,29)">
|
||||
<path d="M0.5 0.5 L282.67724609375 0.5 L282.67724609375 0.5 L0.5 0.5 Z" stroke="none" clip-path="url(#clipPath9)" />
|
||||
<path d="M0.5 0.5 L282.67724609375 0.5 L282.67724609375 0.5 L0.5 0.5 Z" stroke="black" clip-path="url(#clipPath9)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,15,34)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath10)">+</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,23.744140625,34)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath11)">authenticate</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,89.787109375,34)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath12)">(</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,93.3642578125,34)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath13)">authInfo</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,138.00341796875,34)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath14)">:</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,141.48388671875,34)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath15)">AuthenticationInfo</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,240.47314453125,34)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath16)">)</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,244.05029296875,34)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath17)">:</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,247.53076171875,34)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath18)">boolean</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-dasharray="5,10" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,-120,-110)">
|
||||
<path d="M262.5885925292969 250 L262.5885925292969 180" clip-path="url(#clipPath1)" fill="none" />
|
||||
<text x="0" y="11" xml:space="preserve" stroke-dasharray="none" stroke-miterlimit="10" stroke="none" clip-path="url(#clipPath19)" stroke-linecap="square" transform="matrix(1,0,0,1,181.1145,208)"><<</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,81.60279999999999,98)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath20)">realize</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,120.10029999999999,98)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath21)">>></text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-dasharray="5,10" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(0,1,-1,0,142.58859999999999,70)">
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke="none" clip-path="url(#clipPath22)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(0,1,-1,0,142.58859999999999,70)">
|
||||
<path d="M12 -6 L0 0 L12 6 Z" clip-path="url(#clipPath22)" fill="none" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 14 KiB |
|
@ -1,500 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=ISO-8859-2"
|
||||
http-equiv="content-type">
|
||||
<title>LiveSupport Authentication specification</title>
|
||||
<meta content="Ákos Maróy" name="author">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Preface</h1>
|
||||
This document is part of the <a href="http://livesupport.campware.org/">LiveSupport</a>
|
||||
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
|
||||
Development Loan Fund</a>, under the GNU <a
|
||||
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
|
||||
<ul>
|
||||
<li>Author: $Author$</li>
|
||||
<li>Version: $Revision$</li>
|
||||
<li>Location: $URL$</li>
|
||||
</ul>
|
||||
<h1>Scope</h1>
|
||||
This document contains the specification of the LiveSupport
|
||||
Authentication component.<br>
|
||||
<br>
|
||||
This document contains embedded <a
|
||||
href="http://www.w3.org/Graphics/SVG/">SVG</a> figures, thus an SVG
|
||||
capable browser is needed to view it, or an SVG plugin like <a
|
||||
href="http://www.adobe.com/svg/">Adobe's SVG Viewer</a>.<br>
|
||||
<h1>Requirements</h1>
|
||||
<h2>Overview<br>
|
||||
</h2>
|
||||
The purpose of the Authentication component is to provide
|
||||
authentication services by receiving authentication information and
|
||||
checking these against an authentication database.
|
||||
<h2>Goals</h2>
|
||||
The authentication component is a re-usable component, which provides
|
||||
both local and remote interfaces. Different authentication methods may
|
||||
be supported, with username / password authentication being the most
|
||||
trivial.<br>
|
||||
<h2>System functions</h2>
|
||||
The main system functions are described below. There are three
|
||||
categories for these functions:<br>
|
||||
<table width="100%" border="0" cellspacing="2" cellpadding="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th valign="top">function category<br>
|
||||
</th>
|
||||
<th valign="top">meaning<br>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">evident<br>
|
||||
</td>
|
||||
<td valign="top">Should perform, and the user should be cognizant
|
||||
that it is performed<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">hidden<br>
|
||||
</td>
|
||||
<td valign="top">Should perform, but not visible to the users.<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">frill<br>
|
||||
</td>
|
||||
<td valign="top">Optional<br>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
<br>
|
||||
<table width="100%" border="0" cellspacing="2" cellpadding="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th valign="top">ref#<br>
|
||||
</th>
|
||||
<th valign="top">function<br>
|
||||
</th>
|
||||
<th valign="top">category<br>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">F1.1<br>
|
||||
</td>
|
||||
<td valign="top">Authenticate users<br>
|
||||
</td>
|
||||
<td valign="top">evident<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
<h2>System attributes</h2>
|
||||
Generic attributes<br>
|
||||
<br>
|
||||
<table width="100%" border="0" cellspacing="2" cellpadding="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th valign="top">ref#<br>
|
||||
</th>
|
||||
<th valign="top">attribute<br>
|
||||
</th>
|
||||
<th valign="top">details and constraints<br>
|
||||
</th>
|
||||
<th valign="top">category<br>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">A1.1<br>
|
||||
</td>
|
||||
<td valign="top">operating system platform<br>
|
||||
</td>
|
||||
<td valign="top">Linux<br>
|
||||
</td>
|
||||
<td valign="top">must<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">A1.2<br>
|
||||
</td>
|
||||
<td valign="top">local interface<br>
|
||||
</td>
|
||||
<td valign="top">locally callable API<br>
|
||||
</td>
|
||||
<td valign="top">must<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">A1.3<br>
|
||||
</td>
|
||||
<td valign="top">remote interface<br>
|
||||
</td>
|
||||
<td valign="top">remote interface via some RPC method like
|
||||
XML-RPC or SOAP<br>
|
||||
</td>
|
||||
<td valign="top">want<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
Attributes related to system functions<br>
|
||||
<br>
|
||||
<table width="100%" border="0" cellspacing="2" cellpadding="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th valign="top">ref#<br>
|
||||
</th>
|
||||
<th valign="top">function<br>
|
||||
</th>
|
||||
<th valign="top">ref#<br>
|
||||
</th>
|
||||
<th valign="top">attribute<br>
|
||||
</th>
|
||||
<th valign="top">details and constraints<br>
|
||||
</th>
|
||||
<th valign="top">category<br>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
<h2>Essential use cases</h2>
|
||||
This section lists generic (essential) uses cases, that do not contain
|
||||
architecture-specific considerations.<br>
|
||||
<br>
|
||||
<object type="image/svg+xml" name="essential use cases"
|
||||
data="EssentialUseCases.svg" width="500" height="300"></object>
|
||||
<h3>UC-1 Authenticate user<br>
|
||||
</h3>
|
||||
<table width="100%" border="0" cellspacing="2" cellpadding="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="top"><b>ref#</b> </td>
|
||||
<td valign="top">UC-1 </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>use case</b> </td>
|
||||
<td valign="top">Authenticate user </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>type</b> </td>
|
||||
<td valign="top">primary, essential </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>actors</b> </td>
|
||||
<td valign="top">User </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>purpose</b> </td>
|
||||
<td valign="top">Authenticate a user </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>overview</b> </td>
|
||||
<td valign="top">The user contacts the Authentication module with
|
||||
the intention of verifying his integrity. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>references</b> </td>
|
||||
<td valign="top">F1.1 </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Typical course of events</h4>
|
||||
<table width="100%" border="0" cellspacing="2" cellpadding="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th colspan="2" valign="top">actor action <br>
|
||||
</th>
|
||||
<th colspan="2" valign="top">system response <br>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>1.</b> </td>
|
||||
<td valign="top">User connects to the authentication component
|
||||
with the intention of authenticating<br>
|
||||
</td>
|
||||
<td valign="top"> <br>
|
||||
</td>
|
||||
<td valign="top"> <br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>2.</b> </td>
|
||||
<td valign="top">The User provides authentication
|
||||
information </td>
|
||||
<td valign="top"><b>3.</b> </td>
|
||||
<td valign="top">The system checks the authentication information
|
||||
againts its internal database, and informs the user if the provided
|
||||
information was correct. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"> <br>
|
||||
</td>
|
||||
<td valign="top"> <br>
|
||||
</td>
|
||||
<td valign="top"> <br>
|
||||
</td>
|
||||
<td valign="top"> <br>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
<h4>Alternate courses</h4>
|
||||
none<br>
|
||||
<br>
|
||||
<h2>Conceptual model</h2>
|
||||
The following figure displays the semantic concepts identified for the
|
||||
Scheduler daemon, and the main associations between the concepts.<br>
|
||||
<br>
|
||||
<object type="image/svg+xml" name="essential use cases"
|
||||
data="Concepts.svg" width="600" height="600"></object>
|
||||
<br>
|
||||
<h3>Concepts</h3>
|
||||
<br>
|
||||
<table width="100%" border="0" cellspacing="2" cellpadding="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th valign="top">concept<br>
|
||||
</th>
|
||||
<th valign="top">description<br>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>Authentication database</b><br>
|
||||
</td>
|
||||
<td valign="top">A database containing authentication
|
||||
information, against which user-sent authentication information can be
|
||||
checked.<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>Authentication</b><br>
|
||||
</td>
|
||||
<td valign="top">Component responsible for doing the
|
||||
authentications <br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>Authentication info</b><br>
|
||||
</td>
|
||||
<td valign="top">The information a user sends during
|
||||
authentication, provides the basis for authentication<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>User</b><br>
|
||||
</td>
|
||||
<td valign="top">The party that wants to authenticate<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>Authentication interface</b><br>
|
||||
</td>
|
||||
<td valign="top">The local or remote interface for authentications<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
<h3>Associations</h3>
|
||||
<br>
|
||||
<table width="100%" border="0" cellspacing="2" cellpadding="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th valign="top">source<br>
|
||||
</th>
|
||||
<th valign="top">association<br>
|
||||
</th>
|
||||
<th valign="top">target<br>
|
||||
</th>
|
||||
<th valign="top">description<br>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">Authentication<br>
|
||||
</td>
|
||||
<td valign="top">Checks authentication info in<br>
|
||||
</td>
|
||||
<td valign="top">Authentication database<br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">Authentication database<br>
|
||||
</td>
|
||||
<td valign="top">Stores<br>
|
||||
</td>
|
||||
<td valign="top">Authentication info<br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">User<br>
|
||||
</td>
|
||||
<td valign="top">Contains<br>
|
||||
</td>
|
||||
<td valign="top">Authentication info<br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">User<br>
|
||||
</td>
|
||||
<td valign="top">Authenticates by<br>
|
||||
</td>
|
||||
<td valign="top">Authentication interface<br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
<h2>System behavior</h2>
|
||||
The behavior of the system as a whole as experienced from the outside
|
||||
is discussed in this section.<br>
|
||||
<h3>System sequence diagrams</h3>
|
||||
System diagrams are presented for each use case below.<br>
|
||||
<h4>UC-1 Authenticate user<br>
|
||||
</h4>
|
||||
<object type="image/svg+xml" name="authenticate user sequence diagram"
|
||||
data="Authenticateuser_SequenceDiagram.svg" width="550" height="200"></object>
|
||||
<br>
|
||||
<h3>System objects</h3>
|
||||
The following figures shows the system objects and their functions, as
|
||||
derived from the system sequence diagrams.<br>
|
||||
<object type="image/svg+xml" name="system behaviour"
|
||||
data="Systembehaviour.svg" width="400" height="300"></object>
|
||||
<h3>Contracts</h3>
|
||||
For all operations exposed in the system sequence diagrams, the
|
||||
following contracts are defined.<br>
|
||||
<h4>Contract for AuthenticationInterface : authenticate</h4>
|
||||
<table width="100%" border="0" cellspacing="2" cellpadding="2">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="top"><b>Name</b><br>
|
||||
</td>
|
||||
<td colspan="2" rowspan="1" valign="top">authenticate<br>
|
||||
(authInfo : AuthenticationInfo)<br>
|
||||
: boolean<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>Responsibilities</b><br>
|
||||
</td>
|
||||
<td colspan="2" rowspan="1" valign="top">Check if the the
|
||||
provided authentication info is recognized.<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>Type</b><br>
|
||||
</td>
|
||||
<td colspan="2" rowspan="1" valign="top">system<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>Cross-reference</b><br>
|
||||
</td>
|
||||
<td colspan="2" rowspan="1" valign="top">UC-1<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>Notes</b><br>
|
||||
</td>
|
||||
<td colspan="2" rowspan="1" valign="top"><br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>Exceptions</b><br>
|
||||
</td>
|
||||
<td colspan="2" rowspan="1" valign="top">none</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>Output</b><br>
|
||||
</td>
|
||||
<td colspan="2" rowspan="1" valign="top">true if the provided
|
||||
authentication is recognized, false otherwise<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>Pre-conditions</b><br>
|
||||
</td>
|
||||
<td colspan="2" rowspan="1" valign="top">none</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><b>Post-conditions</b><br>
|
||||
</td>
|
||||
<td valign="top">none<br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
<td valign="top"><br>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
|
@ -1,249 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
|
||||
<svg color-interpolation="auto" color-rendering="auto" fill="black" fill-opacity="1" font-family="'Dialog'" font-size="12" font-style="normal" font-weight="normal" image-rendering="auto" shape-rendering="auto" stroke="black" stroke-dasharray="none" stroke-dashoffset="0" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="10" stroke-opacity="1" stroke-width="1" text-rendering="auto" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!--Generated by the Batik Graphics2D SVG Generator-->
|
||||
<defs id="genericDefs" />
|
||||
<g>
|
||||
<defs id="defs1">
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
|
||||
<path d="M-51 10 L-51 171 L554 171 L554 10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
|
||||
<path d="M0 0 L0 161 L605 161 L605 0 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
|
||||
<path d="M-71 -10 L-71 151 L534 151 L534 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
|
||||
<path d="M-12.706500053405762 -42 L-12.706500053405762 119 L592.2935180664062 119 L592.2935180664062 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
|
||||
<path d="M-78.50240325927734 -42 L-78.50240325927734 119 L526.4976196289062 119 L526.4976196289062 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
|
||||
<path d="M-81.98290252685547 -42 L-81.98290252685547 119 L523.01708984375 119 L523.01708984375 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
|
||||
<path d="M-471 -10 L-471 151 L134 151 L134 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
|
||||
<path d="M-477 -16 L-477 145 L128 145 L128 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
|
||||
<path d="M-514.47412109375 -16 L-514.47412109375 145 L90.52587890625 145 L90.52587890625 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
|
||||
<path d="M-517.95458984375 -16 L-517.95458984375 145 L87.04541015625 145 L87.04541015625 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
|
||||
<path d="M-527.9937133789062 -71 L-527.9937133789062 90 L77.00630187988281 90 L77.00630187988281 -71 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
|
||||
<path d="M-280.9809875488281 -115 L-280.9809875488281 46 L324.0190124511719 46 L324.0190124511719 -115 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
|
||||
<path d="M-286.46148681640625 -115 L-286.46148681640625 46 L318.53851318359375 46 L318.53851318359375 -115 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
|
||||
<path d="M-291.94189453125 -115 L-291.94189453125 46 L313.05810546875 46 L313.05810546875 -115 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
|
||||
<path d="M-366.8525085449219 -115 L-366.8525085449219 46 L238.1475067138672 46 L238.1475067138672 -115 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
|
||||
<path d="M-370.4296875 -115 L-370.4296875 46 L234.57029724121094 46 L234.57029724121094 -115 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
|
||||
<path d="M-408.43560791015625 -115 L-408.43560791015625 46 L196.5644073486328 46 L196.5644073486328 -115 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
|
||||
<path d="M527.9937133789062 141 L527.9937133789062 -20 L-77.00630187988281 -20 L-77.00630187988281 141 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
|
||||
<path d="M-250.35040283203125 -82 L-250.35040283203125 79 L354.64959716796875 79 L354.64959716796875 -82 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
|
||||
<path d="M-255.83090209960938 -82 L-255.83090209960938 79 L349.1690979003906 79 L349.1690979003906 -82 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath21">
|
||||
<path d="M-261.3113098144531 -82 L-261.3113098144531 79 L343.6886901855469 79 L343.6886901855469 -82 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath22">
|
||||
<path d="M-299.31719970703125 -82 L-299.31719970703125 79 L305.68280029296875 79 L305.68280029296875 -82 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath23">
|
||||
<path d="M-311.54180908203125 -82 L-311.54180908203125 79 L293.45819091796875 79 L293.45819091796875 -82 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath24">
|
||||
<path d="M-383.3908996582031 -82 L-383.3908996582031 79 L221.60910034179688 79 L221.60910034179688 -82 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath25">
|
||||
<path d="M-386.9679870605469 -82 L-386.9679870605469 79 L218.03199768066406 79 L218.03199768066406 -82 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath26">
|
||||
<path d="M-435.0661926269531 -82 L-435.0661926269531 79 L169.93380737304688 79 L169.93380737304688 -82 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath27">
|
||||
<path d="M527.9937133789062 106 L527.9937133789062 -55 L-77.00630187988281 -55 L-77.00630187988281 106 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath28">
|
||||
<path d="M-230.49740600585938 -47 L-230.49740600585938 114 L374.5025939941406 114 L374.5025939941406 -47 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath29">
|
||||
<path d="M-235.9779052734375 -47 L-235.9779052734375 114 L369.0220947265625 114 L369.0220947265625 -47 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath30">
|
||||
<path d="M-241.4582977294922 -47 L-241.4582977294922 114 L363.54168701171875 114 L363.54168701171875 -47 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath31">
|
||||
<path d="M-314.4245910644531 -47 L-314.4245910644531 114 L290.5754089355469 114 L290.5754089355469 -47 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath32">
|
||||
<path d="M-326.6492004394531 -47 L-326.6492004394531 114 L278.3507995605469 114 L278.3507995605469 -47 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath33">
|
||||
<path d="M-392.69219970703125 -47 L-392.69219970703125 114 L212.30780029296875 114 L212.30780029296875 -47 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath34">
|
||||
<path d="M-396.269287109375 -47 L-396.269287109375 114 L208.73069763183594 114 L208.73069763183594 -47 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath35">
|
||||
<path d="M-440.919189453125 -47 L-440.919189453125 114 L164.08079528808594 114 L164.08079528808594 -47 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath36">
|
||||
<path d="M527.9937133789062 71 L527.9937133789062 -90 L-77.00630187988281 -90 L-77.00630187988281 71 Z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-dasharray="5,5" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,71,10)">
|
||||
<path clip-path="url(#clipPath3)" d="M10.5 48.5 L10.5 140.5" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,71,10)">
|
||||
<path clip-path="url(#clipPath3)" d="M10 8 C5 8 5 0 10 0 C15 0 15 8 10 8 M10 8 L10 10 M0 10 L20 10 M10 10 L10 20 M10 20 L0 30 M10 20 L20 30" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,71,10)">
|
||||
<path clip-path="url(#clipPath3)" d="M10 8 C5 8 5 0 10 0 C15 0 15 8 10 8 M10 8 L10 10 M0 10 L20 10 M10 10 L10 20 M10 20 L0 30 M10 20 L20 30" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,12.706499999999998,42)">
|
||||
<text clip-path="url(#clipPath4)" stroke="none" x="0" xml:space="preserve" y="11">audio player</text>
|
||||
<line clip-path="url(#clipPath4)" fill="none" x1="0" x2="65.7958984375" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,78.5024,42)">
|
||||
<text clip-path="url(#clipPath5)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
<line clip-path="url(#clipPath5)" fill="none" x1="0" x2="3.48046875" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,81.9829,42)">
|
||||
<text clip-path="url(#clipPath6)" stroke="none" x="0" xml:space="preserve" y="11">Audio player</text>
|
||||
<line clip-path="url(#clipPath6)" fill="none" x1="0" x2="67.310546875" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,471,10)">
|
||||
<path clip-path="url(#clipPath7)" d="M62.493648529052734 0.5 L62.493648529052734 140.5" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-dasharray="5,5" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,471,10)">
|
||||
<path clip-path="url(#clipPath7)" d="M62.493648529052734 0.5 L62.493648529052734 140.5" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,471,10)">
|
||||
<path clip-path="url(#clipPath7)" d="M0.5 0.5 L123.48729705810547 0.5 L123.48729705810547 25.5 L0.5 25.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,471,10)">
|
||||
<path clip-path="url(#clipPath7)" d="M0.5 0.5 L123.48729705810547 0.5 L123.48729705810547 25.5 L0.5 25.5 Z" fill="none" />
|
||||
<text clip-path="url(#clipPath8)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,6,6)" x="0" xml:space="preserve" y="11">system</text>
|
||||
<line clip-path="url(#clipPath8)" fill="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,6,6)" x1="0" x2="37.47412109375" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,514.47412109375,16)">
|
||||
<text clip-path="url(#clipPath9)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
<line clip-path="url(#clipPath9)" fill="none" x1="0" x2="3.48046875" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,517.95458984375,16)">
|
||||
<text clip-path="url(#clipPath10)" stroke="none" x="0" xml:space="preserve" y="11">Local storage</text>
|
||||
<line clip-path="url(#clipPath10)" fill="none" x1="0" x2="71.03271484375" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,527.9937,71)">
|
||||
<path clip-path="url(#clipPath11)" d="M0.5 0.5 L9.5 0.5 L9.5 79.5 L0.5 79.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,527.9937,71)">
|
||||
<path clip-path="url(#clipPath11)" d="M0.5 0.5 L9.5 0.5 L9.5 79.5 L0.5 79.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,51,-10)">
|
||||
<path clip-path="url(#clipPath1)" d="M476.99371337890625 151 L30 151" fill="none" />
|
||||
<text clip-path="url(#clipPath12)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,229.981,125)" x="0" xml:space="preserve" y="11"> </text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,286.4615,115)">
|
||||
<text clip-path="url(#clipPath13)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,291.9419,115)">
|
||||
<text clip-path="url(#clipPath14)" stroke="none" x="0" xml:space="preserve" y="11">releasePlaylist</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,366.85249999999996,115)">
|
||||
<text clip-path="url(#clipPath15)" stroke="none" x="0" xml:space="preserve" y="11">(</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,370.42969999999997,115)">
|
||||
<text clip-path="url(#clipPath16)" stroke="none" x="0" xml:space="preserve" y="11">playlist</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,408.43559999999997,115)">
|
||||
<text clip-path="url(#clipPath17)" stroke="none" x="0" xml:space="preserve" y="11">)</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(-1,0,0,-1,527.9937,141)">
|
||||
<path clip-path="url(#clipPath18)" d="M12 -6 L0 0 L12 6 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath18)" d="M12 -6 L0 0 L12 6 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,51,-10)">
|
||||
<path clip-path="url(#clipPath1)" d="M476.99371337890625 116 L30 116" fill="none" />
|
||||
<text clip-path="url(#clipPath19)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,199.3504,92)" x="0" xml:space="preserve" y="11"> </text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,255.8309,82)">
|
||||
<text clip-path="url(#clipPath20)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,261.3113,82)">
|
||||
<text clip-path="url(#clipPath21)" stroke="none" x="0" xml:space="preserve" y="11">playlist</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,299.3172,82)">
|
||||
<text clip-path="url(#clipPath22)" stroke="none" x="0" xml:space="preserve" y="11">:=</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,311.5418,82)">
|
||||
<text clip-path="url(#clipPath23)" stroke="none" x="0" xml:space="preserve" y="11">accessPlaylist</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,383.3909,82)">
|
||||
<text clip-path="url(#clipPath24)" stroke="none" x="0" xml:space="preserve" y="11">(</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,386.968,82)">
|
||||
<text clip-path="url(#clipPath25)" stroke="none" x="0" xml:space="preserve" y="11">playlistId</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,435.0662,82)">
|
||||
<text clip-path="url(#clipPath26)" stroke="none" x="0" xml:space="preserve" y="11">)</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(-1,0,0,-1,527.9937,106)">
|
||||
<path clip-path="url(#clipPath27)" d="M12 -6 L0 0 L12 6 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath27)" d="M12 -6 L0 0 L12 6 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,51,-10)">
|
||||
<path clip-path="url(#clipPath1)" d="M476.99371337890625 81 L30 81" fill="none" />
|
||||
<text clip-path="url(#clipPath28)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,179.4974,57)" x="0" xml:space="preserve" y="11"> </text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,235.9779,47)">
|
||||
<text clip-path="url(#clipPath29)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,241.4583,47)">
|
||||
<text clip-path="url(#clipPath30)" stroke="none" x="0" xml:space="preserve" y="11">authenticated</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,314.4246,47)">
|
||||
<text clip-path="url(#clipPath31)" stroke="none" x="0" xml:space="preserve" y="11">:=</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,326.6492,47)">
|
||||
<text clip-path="url(#clipPath32)" stroke="none" x="0" xml:space="preserve" y="11">authenticate</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,392.6922,47)">
|
||||
<text clip-path="url(#clipPath33)" stroke="none" x="0" xml:space="preserve" y="11">(</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,396.26930000000004,47)">
|
||||
<text clip-path="url(#clipPath34)" stroke="none" x="0" xml:space="preserve" y="11">authinfo</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,440.91920000000005,47)">
|
||||
<text clip-path="url(#clipPath35)" stroke="none" x="0" xml:space="preserve" y="11">)</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(-1,0,0,-1,527.9937,71)">
|
||||
<path clip-path="url(#clipPath36)" d="M12 -6 L0 0 L12 6 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath36)" d="M12 -6 L0 0 L12 6 Z" fill="none" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 24 KiB |
|
@ -1,239 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
|
||||
<svg stroke-width="1" stroke-dashoffset="0" font-size="12" stroke-dasharray="none" color-rendering="auto" font-weight="normal" color-interpolation="auto" stroke-linejoin="miter" fill="black" image-rendering="auto" font-family="'sansserif'" stroke-opacity="1" stroke-miterlimit="10" stroke="black" text-rendering="auto" font-style="normal" stroke-linecap="square" fill-opacity="1" shape-rendering="auto" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!--Generated by the Batik Graphics2D SVG Generator-->
|
||||
<defs id="genericDefs" />
|
||||
<g>
|
||||
<defs id="defs1">
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
|
||||
<path d="M-21 10 L-21 167 L574 167 L574 10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
|
||||
<path d="M0 0 L0 157 L595 157 L595 0 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
|
||||
<path d="M-461 -10 L-461 147 L134 147 L134 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
|
||||
<path d="M-467 -16 L-467 141 L128 141 L128 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
|
||||
<path d="M-504.4740905761719 -16 L-504.4740905761719 141 L90.5259017944336 141 L90.5259017944336 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
|
||||
<path d="M-507.95458984375 -16 L-507.95458984375 141 L87.04540252685547 141 L87.04540252685547 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
|
||||
<path d="M-517.9937133789062 -75 L-517.9937133789062 82 L77.00630187988281 82 L77.00630187988281 -75 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
|
||||
<path d="M-71 -10 L-71 147 L524 147 L524 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
|
||||
<path d="M-12.706500053405762 -42 L-12.706500053405762 115 L582.2935180664062 115 L582.2935180664062 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
|
||||
<path d="M-78.50240325927734 -42 L-78.50240325927734 115 L516.4976196289062 115 L516.4976196289062 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
|
||||
<path d="M-81.98290252685547 -42 L-81.98290252685547 115 L513.01708984375 115 L513.01708984375 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
|
||||
<path d="M517.9937133789062 75 L517.9937133789062 -82 L-77.00630187988281 -82 L-77.00630187988281 75 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
|
||||
<path d="M-197.85499572753906 -51 L-197.85499572753906 106 L397.1449890136719 106 L397.1449890136719 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
|
||||
<path d="M-203.3354949951172 -51 L-203.3354949951172 106 L391.66448974609375 106 L391.66448974609375 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
|
||||
<path d="M-208.81590270996094 -51 L-208.81590270996094 106 L386.1841125488281 106 L386.1841125488281 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
|
||||
<path d="M-281.7821960449219 -51 L-281.7821960449219 106 L313.2178039550781 106 L313.2178039550781 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
|
||||
<path d="M-294.0068054199219 -51 L-294.0068054199219 106 L300.9931945800781 106 L300.9931945800781 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
|
||||
<path d="M-360.0498046875 -51 L-360.0498046875 106 L234.9501953125 106 L234.9501953125 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
|
||||
<path d="M-363.62689208984375 -51 L-363.62689208984375 106 L231.3730926513672 106 L231.3730926513672 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
|
||||
<path d="M-397.5614929199219 -51 L-397.5614929199219 106 L197.43850708007812 106 L197.43850708007812 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath21">
|
||||
<path d="M517.9937133789062 110 L517.9937133789062 -47 L-77.00630187988281 -47 L-77.00630187988281 110 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath22">
|
||||
<path d="M-160.55279541015625 -86 L-160.55279541015625 71 L434.44720458984375 71 L434.44720458984375 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath23">
|
||||
<path d="M-166.03329467773438 -86 L-166.03329467773438 71 L428.9667053222656 71 L428.9667053222656 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath24">
|
||||
<path d="M-171.51370239257812 -86 L-171.51370239257812 71 L423.4862976074219 71 L423.4862976074219 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath25">
|
||||
<path d="M-246.3437957763672 -86 L-246.3437957763672 71 L348.65618896484375 71 L348.65618896484375 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath26">
|
||||
<path d="M-258.5683898925781 -86 L-258.5683898925781 71 L336.4316101074219 71 L336.4316101074219 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath27">
|
||||
<path d="M-370.53961181640625 -86 L-370.53961181640625 71 L224.4604034423828 71 L224.4604034423828 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath28">
|
||||
<path d="M-374.11669921875 -86 L-374.11669921875 71 L220.88330078125 71 L220.88330078125 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath29">
|
||||
<path d="M-434.8638000488281 -86 L-434.8638000488281 71 L160.13619995117188 71 L160.13619995117188 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath30">
|
||||
<path d="M-195.50790405273438 -121 L-195.50790405273438 36 L399.4920959472656 36 L399.4920959472656 -121 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath31">
|
||||
<path d="M-200.9884033203125 -121 L-200.9884033203125 36 L394.0115966796875 36 L394.0115966796875 -121 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath32">
|
||||
<path d="M-206.4687957763672 -121 L-206.4687957763672 36 L388.53118896484375 36 L388.53118896484375 -121 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath33">
|
||||
<path d="M-321.5014953613281 -121 L-321.5014953613281 36 L273.4985046386719 36 L273.4985046386719 -121 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath34">
|
||||
<path d="M-325.0787048339844 -121 L-325.0787048339844 36 L269.9212951660156 36 L269.9212951660156 -121 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath35">
|
||||
<path d="M-399.90869140625 -121 L-399.90869140625 36 L195.09129333496094 36 L195.09129333496094 -121 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath36">
|
||||
<path d="M517.9937133789062 145 L517.9937133789062 -12 L-77.00630187988281 -12 L-77.00630187988281 145 Z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g color-rendering="optimizeQuality" stroke-dasharray="5,5" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,461,10)">
|
||||
<path d="M62.493648529052734 0.5 L62.493648529052734 136.5" clip-path="url(#clipPath3)" fill="none" />
|
||||
<path d="M0.5 0.5 L123.48729705810547 0.5 L123.48729705810547 25.5 L0.5 25.5 Z" stroke="none" clip-path="url(#clipPath3)" fill="white" />
|
||||
<path d="M0.5 0.5 L123.48729705810547 0.5 L123.48729705810547 25.5 L0.5 25.5 Z" stroke-dasharray="none" clip-path="url(#clipPath3)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,467,16)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath4)">system</text>
|
||||
<line x1="0" y1="12.5" x2="37.47412109375" y2="12.5" clip-path="url(#clipPath4)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,504.4741,16)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath5)">:</text>
|
||||
<line x1="0" y1="12.5" x2="3.48046875" y2="12.5" clip-path="url(#clipPath5)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,507.9546,16)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath6)">Local storage</text>
|
||||
<line x1="0" y1="12.5" x2="71.03271484375" y2="12.5" clip-path="url(#clipPath6)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,517.9937,75)">
|
||||
<path d="M0.5 0.5 L9.5 0.5 L9.5 71.5 L0.5 71.5 Z" stroke="none" clip-path="url(#clipPath7)" />
|
||||
<path d="M0.5 0.5 L9.5 0.5 L9.5 71.5 L0.5 71.5 Z" stroke="black" clip-path="url(#clipPath7)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,71,10)">
|
||||
<path d="M10.5 48.5 L10.5 136.5" stroke="none" clip-path="url(#clipPath8)" />
|
||||
<path d="M10.5 48.5 L10.5 136.5" stroke-dasharray="5,5" stroke="black" clip-path="url(#clipPath8)" fill="none" />
|
||||
<path d="M10 8 C5 8 5 0 10 0 C15 0 15 8 10 8 M10 8 L10 10 M0 10 L20 10 M10 10 L10 20 M10 20 L0 30 M10 20 L20 30" stroke-dasharray="5,5" stroke="none" clip-path="url(#clipPath8)" />
|
||||
<path d="M10 8 C5 8 5 0 10 0 C15 0 15 8 10 8 M10 8 L10 10 M0 10 L20 10 M10 10 L10 20 M10 20 L0 30 M10 20 L20 30" stroke="black" clip-path="url(#clipPath8)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,12.706499999999998,42)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath9)">audio player</text>
|
||||
<line x1="0" y1="12.5" x2="65.7958984375" y2="12.5" clip-path="url(#clipPath9)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,78.5024,42)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath10)">:</text>
|
||||
<line x1="0" y1="12.5" x2="3.48046875" y2="12.5" clip-path="url(#clipPath10)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,81.9829,42)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath11)">Audio player</text>
|
||||
<line x1="0" y1="12.5" x2="67.310546875" y2="12.5" clip-path="url(#clipPath11)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,21,-10)">
|
||||
<path d="M60 85 L496.99371337890625 85" clip-path="url(#clipPath1)" fill="none" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke="none" clip-path="url(#clipPath12)" transform="matrix(-1,-1.0547118733938987E-15,1.0547118733938987E-15,-1,496.9937,85)" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke-miterlimit="10" clip-path="url(#clipPath12)" fill="none" stroke-linecap="square" transform="matrix(-1,-1.0547118733938987E-15,1.0547118733938987E-15,-1,496.9937,85)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,197.855,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath13)"> </text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,203.3355,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath14)">:</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,208.8159,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath15)">authenticated</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,281.7822,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath16)">:=</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,294.0068,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath17)">authenticate</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,360.0498,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath18)">(</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,363.6269,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath19)">authId</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,397.5615,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath20)">)</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,21,-10)">
|
||||
<path d="M60 120 L496.99371337890625 120" clip-path="url(#clipPath1)" fill="none" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke="none" clip-path="url(#clipPath21)" transform="matrix(-1,-2.831068712794149E-15,2.831068712794149E-15,-1,496.9937,120)" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke-miterlimit="10" clip-path="url(#clipPath21)" fill="none" stroke-linecap="square" transform="matrix(-1,-2.831068712794149E-15,2.831068712794149E-15,-1,496.9937,120)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,160.5528,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath22)"> </text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,166.0333,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath23)">:</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,171.5137,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath24)">rawAudioData</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,246.3438,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath25)">:=</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,258.5684,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath26)">accessRawAudioData</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,370.5396,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath27)">(</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,374.11670000000004,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath28)">audioClipId</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,434.86379999999997,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath29)">)</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,21,-10)">
|
||||
<path d="M60 155 L496.99371337890625 155" clip-path="url(#clipPath1)" fill="none" />
|
||||
<text x="0" y="11" xml:space="preserve" stroke-miterlimit="10" stroke="none" clip-path="url(#clipPath30)" stroke-linecap="square" transform="matrix(1,0,0,1,174.5079,131)"> </text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,200.9884,121)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath31)">:</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,206.46880000000002,121)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath32)">releaseRawAudioData</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,321.5015,121)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath33)">(</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,325.0787,121)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath34)">rawAudioData</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,399.9087,121)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath35)">)</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(-1,0,0,-1,517.9937,145)">
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke="none" clip-path="url(#clipPath36)" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke-miterlimit="10" clip-path="url(#clipPath36)" fill="none" stroke-linecap="square" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 23 KiB |
|
@ -1,633 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
|
||||
<svg color-interpolation="auto" color-rendering="auto" fill="black" fill-opacity="1" font-family="'Dialog'" font-size="12" font-style="normal" font-weight="normal" image-rendering="auto" shape-rendering="auto" stroke="black" stroke-dasharray="none" stroke-dashoffset="0" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="10" stroke-opacity="1" stroke-width="1" text-rendering="auto" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!--Generated by the Batik Graphics2D SVG Generator-->
|
||||
<defs id="genericDefs" />
|
||||
<g>
|
||||
<defs id="defs1">
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
|
||||
<path d="M57 80 L57 620 L700 620 L700 80 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
|
||||
<path d="M0 0 L0 540 L643 540 L643 0 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
|
||||
<path d="M-43 -10 L-43 530 L600 530 L600 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
|
||||
<path d="M-287.393310546875 -12 L-287.393310546875 528 L355.606689453125 528 L355.606689453125 -12 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
|
||||
<path d="M-307.881591796875 -12 L-307.881591796875 528 L335.118408203125 528 L335.118408203125 -12 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
|
||||
<path d="M-371.118408203125 -12 L-371.118408203125 528 L271.881591796875 528 L271.881591796875 -12 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
|
||||
<path d="M-302.4836120605469 -28 L-302.4836120605469 512 L340.5163879394531 512 L340.5163879394531 -28 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
|
||||
<path d="M-243 -210 L-243 330 L400 330 L400 -210 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
|
||||
<path d="M-265.2528991699219 -213 L-265.2528991699219 327 L377.7471008300781 327 L377.7471008300781 -213 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
|
||||
<path d="M-244 -229 L-244 311 L399 311 L399 -229 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
|
||||
<path d="M-248 -234 L-248 306 L395 306 L395 -234 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
|
||||
<path d="M-254.3647003173828 -234 L-254.3647003173828 306 L388.63531494140625 306 L388.63531494140625 -234 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
|
||||
<path d="M-264.4678039550781 -234 L-264.4678039550781 306 L378.5321960449219 306 L378.5321960449219 -234 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
|
||||
<path d="M-267.9482116699219 -234 L-267.9482116699219 306 L375.0517883300781 306 L375.0517883300781 -234 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
|
||||
<path d="M-248 -249 L-248 291 L395 291 L395 -249 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
|
||||
<path d="M-254.3647003173828 -249 L-254.3647003173828 291 L388.63531494140625 291 L388.63531494140625 -249 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
|
||||
<path d="M-299.5679016113281 -249 L-299.5679016113281 291 L343.4320983886719 291 L343.4320983886719 -249 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
|
||||
<path d="M-303.0483093261719 -249 L-303.0483093261719 291 L339.9516906738281 291 L339.9516906738281 -249 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
|
||||
<path d="M-244 -267 L-244 273 L399 273 L399 -267 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
|
||||
<path d="M-343 -330 L-343 210 L300 210 L300 -330 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath21">
|
||||
<path d="M-351.341796875 -333 L-351.341796875 207 L291.658203125 207 L291.658203125 -333 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath22">
|
||||
<path d="M-344 -349 L-344 191 L299 191 L299 -349 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath23">
|
||||
<path d="M-344 -374 L-344 166 L299 166 L299 -374 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath24">
|
||||
<path d="M-423 -220 L-423 320 L220 320 L220 -220 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath25">
|
||||
<path d="M-448.8075866699219 -223 L-448.8075866699219 317 L194.19239807128906 317 L194.19239807128906 -223 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath26">
|
||||
<path d="M-424 -239 L-424 301 L219 301 L219 -239 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath27">
|
||||
<path d="M-428 -244 L-428 296 L215 296 L215 -244 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath28">
|
||||
<path d="M-434.36468505859375 -244 L-434.36468505859375 296 L208.6352996826172 296 L208.6352996826172 -244 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath29">
|
||||
<path d="M-534.8900756835938 -244 L-534.8900756835938 296 L108.10990142822266 296 L108.10990142822266 -244 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath30">
|
||||
<path d="M-538.37060546875 -244 L-538.37060546875 296 L104.62940216064453 296 L104.62940216064453 -244 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath31">
|
||||
<path d="M-424 -264 L-424 276 L219 276 L219 -264 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath32">
|
||||
<path d="M-428 -269 L-428 271 L215 271 L215 -269 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath33">
|
||||
<path d="M-436.7441101074219 -269 L-436.7441101074219 271 L206.2559051513672 271 L206.2559051513672 -269 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath34">
|
||||
<path d="M-494.7842102050781 -269 L-494.7842102050781 271 L148.21580505371094 271 L148.21580505371094 -269 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath35">
|
||||
<path d="M-498.3612976074219 -269 L-498.3612976074219 271 L144.63870239257812 271 L144.63870239257812 -269 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath36">
|
||||
<path d="M-501.9385070800781 -269 L-501.9385070800781 271 L141.06149291992188 271 L141.06149291992188 -269 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath37">
|
||||
<path d="M-505.4189147949219 -269 L-505.4189147949219 271 L137.5811004638672 271 L137.5811004638672 -269 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath38">
|
||||
<path d="M-63 -210 L-63 330 L580 330 L580 -210 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath39">
|
||||
<path d="M-86.2654037475586 -213 L-86.2654037475586 327 L556.734619140625 327 L556.734619140625 -213 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath40">
|
||||
<path d="M-64 -229 L-64 311 L579 311 L579 -229 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath41">
|
||||
<path d="M-64 -254 L-64 286 L579 286 L579 -254 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath42">
|
||||
<path d="M-43 -46 L-43 494 L600 494 L600 -46 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath43">
|
||||
<path d="M423 260 L423 -280 L-220 -280 L-220 260 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath44">
|
||||
<path d="M-362.2521057128906 -273 L-362.2521057128906 267 L280.7478942871094 267 L280.7478942871094 -273 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath45">
|
||||
<path d="M-163 -240 L-163 300 L480 300 L480 -240 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath46">
|
||||
<path d="M-162.82150268554688 -216 L-162.82150268554688 324 L480.1784973144531 324 L480.1784973144531 -216 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath47">
|
||||
<path d="M-253 -70 L-253 470 L390 470 L390 -70 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath48">
|
||||
<path d="M-277.6028137207031 -73 L-277.6028137207031 467 L365.3971862792969 467 L365.3971862792969 -73 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath49">
|
||||
<path d="M-254 -89 L-254 451 L389 451 L389 -89 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath50">
|
||||
<path d="M-254 -114 L-254 426 L389 426 L389 -114 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath51">
|
||||
<path d="M-140 303 L400 303 L400 -340 L-140 -340 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath52">
|
||||
<path d="M-313 -168 L-313 372 L330 372 L330 -168 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath53">
|
||||
<path d="M-123 -310 L-123 230 L520 230 L520 -310 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath54">
|
||||
<path d="M-133.181396484375 -313 L-133.181396484375 227 L509.818603515625 227 L509.818603515625 -313 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath55">
|
||||
<path d="M-124 -329 L-124 211 L519 211 L519 -329 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath56">
|
||||
<path d="M-124 -354 L-124 186 L519 186 L519 -354 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath57">
|
||||
<path d="M-483 -70 L-483 470 L160 470 L160 -70 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath58">
|
||||
<path d="M-512.482421875 -73 L-512.482421875 467 L130.51759338378906 467 L130.51759338378906 -73 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath59">
|
||||
<path d="M-484 -89 L-484 451 L159 451 L159 -89 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath60">
|
||||
<path d="M-484 -114 L-484 426 L159 426 L159 -114 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath61">
|
||||
<path d="M-353 -104 L-353 436 L290 436 L290 -104 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath62">
|
||||
<path d="M-378.476806640625 -80 L-378.476806640625 460 L264.523193359375 460 L264.523193359375 -80 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath63">
|
||||
<path d="M-473 -460 L-473 80 L170 80 L170 -460 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath64">
|
||||
<path d="M-486.9841003417969 -463 L-486.9841003417969 77 L156.01589965820312 77 L156.01589965820312 -463 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath65">
|
||||
<path d="M-474 -479 L-474 61 L169 61 L169 -479 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath66">
|
||||
<path d="M-474 -504 L-474 36 L169 36 L169 -504 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath67">
|
||||
<path d="M-93 -460 L-93 80 L550 80 L550 -460 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath68">
|
||||
<path d="M-96 -463 L-96 77 L547 77 L547 -463 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath69">
|
||||
<path d="M-94 -479 L-94 61 L549 61 L549 -479 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath70">
|
||||
<path d="M-94 -504 L-94 36 L549 36 L549 -504 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath71">
|
||||
<path d="M152.81324768066406 504.27880859375 L370.3355712890625 10.027819633483887 L-218.18919372558594 -248.98487854003906 L-435.7115478515625 245.26609802246094 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath72">
|
||||
<path d="M-247.4656982421875 -451.8681945800781 L-247.4656982421875 88.13179779052734 L395.5343017578125 88.13179779052734 L395.5343017578125 -451.8681945800781 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath73">
|
||||
<path d="M-555.886474609375 217.34580993652344 L-72.89581298828125 458.8411560058594 L214.6625213623047 -116.2755355834961 L-268.3281555175781 -357.7708740234375 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath74">
|
||||
<path d="M-345.3576965332031 -425.7597961425781 L-345.3576965332031 114.24019622802734 L297.6423034667969 114.24019622802734 L297.6423034667969 -425.7597961425781 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath75">
|
||||
<path d="M-234.64642333984375 299.73162841796875 L293.0112609863281 184.9389190673828 L156.32289123535156 -443.3645935058594 L-371.3348083496094 -328.5718688964844 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath76">
|
||||
<path d="M-248.60589599609375 -321.9049072265625 L-248.60589599609375 218.0950927734375 L394.39410400390625 218.0950927734375 L394.39410400390625 -321.9049072265625 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath77">
|
||||
<path d="M-290 493 L250 493 L250 -150 L-290 -150 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath78">
|
||||
<path d="M-503 -368 L-503 172 L140 172 L140 -368 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath79">
|
||||
<path d="M-280 63 L260 63 L260 -580 L-280 -580 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath80">
|
||||
<path d="M-10.687999725341797 -458.1553955078125 L-10.687999725341797 81.84459686279297 L632.31201171875 81.84459686279297 L632.31201171875 -458.1553955078125 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath81">
|
||||
<path d="M-380 159.83450317382812 L160 159.83450317382812 L160 -483.1654968261719 L-380 -483.1654968261719 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath82">
|
||||
<path d="M-85.8583984375 -398.14630126953125 L-85.8583984375 141.85369873046875 L557.1416015625 141.85369873046875 L557.1416015625 -398.14630126953125 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath83">
|
||||
<path d="M-140 563 L400 563 L400 -80 L-140 -80 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath84">
|
||||
<path d="M-573 -293 L-573 247 L70 247 L70 -293 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath85">
|
||||
<path d="M209.716552734375 457.06451416015625 L618.4215087890625 104.13358306884766 L198.17230224609375 -382.528076171875 L-210.53268432617188 -29.59716033935547 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath86">
|
||||
<path d="M-400.3576965332031 -153.60800170898438 L-400.3576965332031 386.3919982910156 L242.64230346679688 386.3919982910156 L242.64230346679688 -153.60800170898438 Z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,-57,-80)">
|
||||
<rect clip-path="url(#clipPath1)" height="540" stroke="none" width="643" x="57" y="80" />
|
||||
<path clip-path="url(#clipPath3)" d="M0.5 0.5 L589.5 0.5 L589.5 409.5 L0.5 409.5 Z" stroke="none" transform="matrix(1,0,0,1,100,90)" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,43,10)">
|
||||
<path clip-path="url(#clipPath3)" d="M0.5 0.5 L589.5 0.5 L589.5 409.5 L0.5 409.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,287.3933,12)">
|
||||
<text clip-path="url(#clipPath4)" stroke="none" x="0" xml:space="preserve" y="11"><<</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,307.8816,12)">
|
||||
<text clip-path="url(#clipPath5)" stroke="none" x="0" xml:space="preserve" y="11">component</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,371.1184,12)">
|
||||
<text clip-path="url(#clipPath6)" stroke="none" x="0" xml:space="preserve" y="11">>></text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,302.4836,28)">
|
||||
<text clip-path="url(#clipPath7)" stroke="none" x="0" xml:space="preserve" y="11">Local storage</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,243,210)">
|
||||
<path clip-path="url(#clipPath8)" d="M0.5 0.5 L99.5 0.5 L99.5 82.5 L0.5 82.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,243,210)">
|
||||
<path clip-path="url(#clipPath8)" d="M0.5 0.5 L99.5 0.5 L99.5 82.5 L0.5 82.5 Z" fill="none" />
|
||||
<text clip-path="url(#clipPath9)" font-weight="bold" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,22.2529,3)" x="0" xml:space="preserve" y="11">AudioClip</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,244,229)">
|
||||
<path clip-path="url(#clipPath10)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,244,229)">
|
||||
<path clip-path="url(#clipPath10)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,248,234)">
|
||||
<text clip-path="url(#clipPath11)" stroke="none" x="0" xml:space="preserve" y="11">-</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,254.3647,234)">
|
||||
<text clip-path="url(#clipPath12)" stroke="none" x="0" xml:space="preserve" y="11">id</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,264.4678,234)">
|
||||
<text clip-path="url(#clipPath13)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,267.9482,234)">
|
||||
<text clip-path="url(#clipPath14)" stroke="none" x="0" xml:space="preserve" y="11">UniqueId</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,248,249)">
|
||||
<text clip-path="url(#clipPath15)" stroke="none" x="0" xml:space="preserve" y="11">-</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,254.3647,249)">
|
||||
<text clip-path="url(#clipPath16)" stroke="none" x="0" xml:space="preserve" y="11">duration</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,299.5679,249)">
|
||||
<text clip-path="url(#clipPath17)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,303.0483,249)">
|
||||
<text clip-path="url(#clipPath18)" stroke="none" x="0" xml:space="preserve" y="11">Time</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,244,267)">
|
||||
<path clip-path="url(#clipPath19)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,244,267)">
|
||||
<path clip-path="url(#clipPath19)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,343,330)">
|
||||
<path clip-path="url(#clipPath20)" d="M0.5 0.5 L99.5 0.5 L99.5 69.5 L0.5 69.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,343,330)">
|
||||
<path clip-path="url(#clipPath20)" d="M0.5 0.5 L99.5 0.5 L99.5 69.5 L0.5 69.5 Z" fill="none" />
|
||||
<text clip-path="url(#clipPath21)" font-weight="bold" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,8.3418,3)" x="0" xml:space="preserve" y="11">Authentication</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,344,349)">
|
||||
<path clip-path="url(#clipPath22)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,344,349)">
|
||||
<path clip-path="url(#clipPath22)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,344,374)">
|
||||
<path clip-path="url(#clipPath23)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,344,374)">
|
||||
<path clip-path="url(#clipPath23)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,423,220)">
|
||||
<path clip-path="url(#clipPath24)" d="M0.5 0.5 L133.99119567871094 0.5 L133.99119567871094 69.5 L0.5 69.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,423,220)">
|
||||
<path clip-path="url(#clipPath24)" d="M0.5 0.5 L133.99119567871094 0.5 L133.99119567871094 69.5 L0.5 69.5 Z" fill="none" />
|
||||
<text clip-path="url(#clipPath25)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,25.8076,3)" x="0" xml:space="preserve" y="11">RawAudioData</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,424,239)">
|
||||
<path clip-path="url(#clipPath26)" d="M0.5 0.5 L131.99119567871094 0.5 L131.99119567871094 0.5 L0.5 0.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,424,239)">
|
||||
<path clip-path="url(#clipPath26)" d="M0.5 0.5 L131.99119567871094 0.5 L131.99119567871094 0.5 L0.5 0.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,428,244)">
|
||||
<text clip-path="url(#clipPath27)" stroke="none" x="0" xml:space="preserve" y="11">-</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,434.3647,244)">
|
||||
<text clip-path="url(#clipPath28)" stroke="none" x="0" xml:space="preserve" y="11">currentlyAccessing</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,534.8901,244)">
|
||||
<text clip-path="url(#clipPath29)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,538.3706,244)">
|
||||
<text clip-path="url(#clipPath30)" stroke="none" x="0" xml:space="preserve" y="11">int</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,424,264)">
|
||||
<path clip-path="url(#clipPath31)" d="M0.5 0.5 L131.99119567871094 0.5 L131.99119567871094 0.5 L0.5 0.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,424,264)">
|
||||
<path clip-path="url(#clipPath31)" d="M0.5 0.5 L131.99119567871094 0.5 L131.99119567871094 0.5 L0.5 0.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,428,269)">
|
||||
<text clip-path="url(#clipPath32)" stroke="none" x="0" xml:space="preserve" y="11">+</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,436.7441,269)">
|
||||
<text clip-path="url(#clipPath33)" stroke="none" x="0" xml:space="preserve" y="11">isAccessed</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,494.7842,269)">
|
||||
<text clip-path="url(#clipPath34)" stroke="none" x="0" xml:space="preserve" y="11">(</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,498.3613,269)">
|
||||
<text clip-path="url(#clipPath35)" stroke="none" x="0" xml:space="preserve" y="11">)</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,501.9385,269)">
|
||||
<text clip-path="url(#clipPath36)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,505.4189,269)">
|
||||
<text clip-path="url(#clipPath37)" stroke="none" x="0" xml:space="preserve" y="11">boolean</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,63,210)">
|
||||
<path clip-path="url(#clipPath38)" d="M0.5 0.5 L99.5 0.5 L99.5 69.5 L0.5 69.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,63,210)">
|
||||
<path clip-path="url(#clipPath38)" d="M0.5 0.5 L99.5 0.5 L99.5 69.5 L0.5 69.5 Z" fill="none" />
|
||||
<text clip-path="url(#clipPath39)" font-weight="bold" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,23.2654,3)" x="0" xml:space="preserve" y="11">MetaData</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,64,229)">
|
||||
<path clip-path="url(#clipPath40)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,64,229)">
|
||||
<path clip-path="url(#clipPath40)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,64,254)">
|
||||
<path clip-path="url(#clipPath41)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,64,254)">
|
||||
<path clip-path="url(#clipPath41)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,43,46)">
|
||||
<path clip-path="url(#clipPath42)" d="M300 214 L380 214" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(-1,0,0,-1,423,260)">
|
||||
<path clip-path="url(#clipPath43)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath43)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" fill="none" stroke="black" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,362.2521,273)">
|
||||
<text clip-path="url(#clipPath44)" stroke="none" x="0" xml:space="preserve" y="11">Contains</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,43,46)">
|
||||
<path clip-path="url(#clipPath42)" d="M200 194 L120 194" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,163,240)">
|
||||
<path clip-path="url(#clipPath45)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath45)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" fill="none" stroke="black" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,162.82150000000001,216)">
|
||||
<text clip-path="url(#clipPath46)" stroke="none" x="0" xml:space="preserve" y="11">Is described by</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,253,70)">
|
||||
<path clip-path="url(#clipPath47)" d="M0.5 0.5 L99.5 0.5 L99.5 69.5 L0.5 69.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,253,70)">
|
||||
<path clip-path="url(#clipPath47)" d="M0.5 0.5 L99.5 0.5 L99.5 69.5 L0.5 69.5 Z" fill="none" />
|
||||
<text clip-path="url(#clipPath48)" font-weight="bold" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,24.6028,3)" x="0" xml:space="preserve" y="11">UniqueId</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,254,89)">
|
||||
<path clip-path="url(#clipPath49)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,254,89)">
|
||||
<path clip-path="url(#clipPath49)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,254,114)">
|
||||
<path clip-path="url(#clipPath50)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,254,114)">
|
||||
<path clip-path="url(#clipPath50)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,43,46)">
|
||||
<path clip-path="url(#clipPath42)" d="M260 164 L260 94" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(0,1,-1,0,303,140)">
|
||||
<path clip-path="url(#clipPath51)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath51)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" fill="none" stroke="black" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,313,168)">
|
||||
<text clip-path="url(#clipPath52)" stroke="none" x="0" xml:space="preserve" y="11">Is identified by</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,123,310)">
|
||||
<path clip-path="url(#clipPath53)" d="M0.5 0.5 L99.5 0.5 L99.5 69.5 L0.5 69.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,123,310)">
|
||||
<path clip-path="url(#clipPath53)" d="M0.5 0.5 L99.5 0.5 L99.5 69.5 L0.5 69.5 Z" fill="none" />
|
||||
<text clip-path="url(#clipPath54)" font-weight="bold" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,10.1814,3)" x="0" xml:space="preserve" y="11">SearchCriteria</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,124,329)">
|
||||
<path clip-path="url(#clipPath55)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,124,329)">
|
||||
<path clip-path="url(#clipPath55)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,124,354)">
|
||||
<path clip-path="url(#clipPath56)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,124,354)">
|
||||
<path clip-path="url(#clipPath56)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,483,70)">
|
||||
<path clip-path="url(#clipPath57)" d="M0.5 0.5 L99.5 0.5 L99.5 69.5 L0.5 69.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,483,70)">
|
||||
<path clip-path="url(#clipPath57)" d="M0.5 0.5 L99.5 0.5 L99.5 69.5 L0.5 69.5 Z" fill="none" />
|
||||
<text clip-path="url(#clipPath58)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,29.4824,3)" x="0" xml:space="preserve" y="11">Playlist</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,484,89)">
|
||||
<path clip-path="url(#clipPath59)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,484,89)">
|
||||
<path clip-path="url(#clipPath59)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,484,114)">
|
||||
<path clip-path="url(#clipPath60)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,484,114)">
|
||||
<path clip-path="url(#clipPath60)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,43,46)">
|
||||
<path clip-path="url(#clipPath42)" d="M440 58 L310 58" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,353,104)">
|
||||
<path clip-path="url(#clipPath61)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath61)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" fill="none" stroke="black" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,378.4768,80)">
|
||||
<text clip-path="url(#clipPath62)" stroke="none" x="0" xml:space="preserve" y="11">is identified by</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,473,460)">
|
||||
<path clip-path="url(#clipPath63)" d="M0.5 0.5 L99.5 0.5 L99.5 69.5 L0.5 69.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,473,460)">
|
||||
<path clip-path="url(#clipPath63)" d="M0.5 0.5 L99.5 0.5 L99.5 69.5 L0.5 69.5 Z" fill="none" />
|
||||
<text clip-path="url(#clipPath64)" font-weight="bold" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,13.9841,3)" x="0" xml:space="preserve" y="11">Audio player</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,474,479)">
|
||||
<path clip-path="url(#clipPath65)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,474,479)">
|
||||
<path clip-path="url(#clipPath65)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,474,504)">
|
||||
<path clip-path="url(#clipPath66)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,474,504)">
|
||||
<path clip-path="url(#clipPath66)" d="M0.5 0.5 L97.5 0.5 L97.5 0.5 L0.5 0.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,93,460)">
|
||||
<path clip-path="url(#clipPath67)" d="M0.5 0.5 L113.16889953613281 0.5 L113.16889953613281 69.5 L0.5 69.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,93,460)">
|
||||
<path clip-path="url(#clipPath67)" d="M0.5 0.5 L113.16889953613281 0.5 L113.16889953613281 69.5 L0.5 69.5 Z" fill="none" />
|
||||
<text clip-path="url(#clipPath68)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,3,3)" x="0" xml:space="preserve" y="11">Storage maintainer</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,94,479)">
|
||||
<path clip-path="url(#clipPath69)" d="M0.5 0.5 L111.16889953613281 0.5 L111.16889953613281 0.5 L0.5 0.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,94,479)">
|
||||
<path clip-path="url(#clipPath69)" d="M0.5 0.5 L111.16889953613281 0.5 L111.16889953613281 0.5 L0.5 0.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,94,504)">
|
||||
<path clip-path="url(#clipPath70)" d="M0.5 0.5 L111.16889953613281 0.5 L111.16889953613281 0.5 L0.5 0.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,94,504)">
|
||||
<path clip-path="url(#clipPath70)" d="M0.5 0.5 L111.16889953613281 0.5 L111.16889953613281 0.5 L0.5 0.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,-57,-80)">
|
||||
<path clip-path="url(#clipPath1)" d="M263.6689147949219 540 L400 480" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" font-weight="bold" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(-0.9152795986159178,0.40281913603686254,-0.40281913603686254,-0.9152795986159178,343,400)">
|
||||
<path clip-path="url(#clipPath71)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath71)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" fill="none" stroke="black" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,247.46570000000003,451.8682)">
|
||||
<text clip-path="url(#clipPath72)" stroke="none" x="0" xml:space="preserve" y="11">Is authenticated by</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,-57,-80)">
|
||||
<path clip-path="url(#clipPath1)" d="M530 540 L500 480" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(0.44721359549995804,0.8944271909999159,-0.8944271909999159,0.44721359549995804,443,400)">
|
||||
<path clip-path="url(#clipPath73)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath73)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" fill="none" stroke="black" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,345.3577,425.7598)">
|
||||
<text clip-path="url(#clipPath74)" stroke="none" x="0" xml:space="preserve" y="11">Is authenticated by</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,-57,-80)">
|
||||
<path clip-path="url(#clipPath1)" d="M263.6689147949219 540 L300 373" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(-0.21257910943269884,0.9771438595379908,-0.9771438595379908,-0.21257910943269884,243,293)">
|
||||
<path clip-path="url(#clipPath75)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath75)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" fill="none" stroke="black" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,248.60590000000002,321.9049)">
|
||||
<text clip-path="url(#clipPath76)" stroke="none" x="0" xml:space="preserve" y="11">Manages</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,-57,-80)">
|
||||
<path clip-path="url(#clipPath1)" d="M550 540 L550 370" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(0,1,-1,0,493,290)">
|
||||
<path clip-path="url(#clipPath77)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath77)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" fill="none" stroke="black" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,503,368)">
|
||||
<text clip-path="url(#clipPath78)" stroke="none" x="0" xml:space="preserve" y="11">Accesses</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,-57,-80)">
|
||||
<path clip-path="url(#clipPath1)" d="M150 540 L120 520 L120 360" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(0,1,-1,0,63,280)">
|
||||
<path clip-path="url(#clipPath79)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath79)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" fill="none" stroke="black" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,10.688000000000002,458.1554)">
|
||||
<text clip-path="url(#clipPath80)" stroke="none" x="0" xml:space="preserve" y="11">Searches in</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,-57,-80)">
|
||||
<path clip-path="url(#clipPath1)" d="M216.83450317382812 540 L216.83450317382812 460" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(0,1,-1,0,159.8345,380)">
|
||||
<path clip-path="url(#clipPath81)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath81)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" fill="none" stroke="black" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,85.85839999999999,398.1463)">
|
||||
<text clip-path="url(#clipPath82)" stroke="none" x="0" xml:space="preserve" y="11">Searches by</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,-57,-80)">
|
||||
<path clip-path="url(#clipPath1)" d="M620 540 L620 220" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(0,1,-1,0,563,140)">
|
||||
<path clip-path="url(#clipPath83)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath83)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" fill="none" stroke="black" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,573,293)">
|
||||
<text clip-path="url(#clipPath84)" stroke="none" x="0" xml:space="preserve" y="11">Accesses</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,-57,-80)">
|
||||
<path clip-path="url(#clipPath1)" d="M263.6689147949219 540 L540 220" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(-0.6535757910369188,0.7568610740224826,-0.7568610740224826,-0.6535757910369188,483,140)">
|
||||
<path clip-path="url(#clipPath85)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath85)" d="M10 -5 L0 0 ZM10 5 L0 0 Z" fill="none" stroke="black" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,400.3577,153.608)">
|
||||
<text clip-path="url(#clipPath86)" stroke="none" x="0" xml:space="preserve" y="11">Manages</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 64 KiB |
|
@ -1,193 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
|
||||
<svg color-interpolation="auto" color-rendering="auto" fill="black" fill-opacity="1" font-family="'Dialog'" font-size="12" font-style="normal" font-weight="normal" image-rendering="auto" shape-rendering="auto" stroke="black" stroke-dasharray="none" stroke-dashoffset="0" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="10" stroke-opacity="1" stroke-width="1" text-rendering="auto" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!--Generated by the Batik Graphics2D SVG Generator-->
|
||||
<defs id="genericDefs" />
|
||||
<g>
|
||||
<defs id="defs1">
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
|
||||
<path d="M-75 10 L-75 128 L534 128 L534 10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
|
||||
<path d="M0 0 L0 118 L609 118 L609 0 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
|
||||
<path d="M-105 -10 L-105 108 L504 108 L504 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
|
||||
<path d="M-12.40410041809082 -42 L-12.40410041809082 76 L596.5958862304688 76 L596.5958862304688 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
|
||||
<path d="M-113.10140228271484 -42 L-113.10140228271484 76 L495.8985900878906 76 L495.8985900878906 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
|
||||
<path d="M-116.58180236816406 -42 L-116.58180236816406 76 L492.418212890625 76 L492.418212890625 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
|
||||
<path d="M-475 -10 L-475 108 L134 108 L134 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
|
||||
<path d="M-481 -16 L-481 102 L128 102 L128 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
|
||||
<path d="M-518.47412109375 -16 L-518.47412109375 102 L90.5259017944336 102 L90.5259017944336 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
|
||||
<path d="M-521.95458984375 -16 L-521.95458984375 102 L87.04540252685547 102 L87.04540252685547 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
|
||||
<path d="M-531.9937133789062 -71 L-531.9937133789062 47 L77.00630187988281 47 L77.00630187988281 -71 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
|
||||
<path d="M-241.49740600585938 -46 L-241.49740600585938 72 L367.5025939941406 72 L367.5025939941406 -46 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
|
||||
<path d="M-246.9779052734375 -46 L-246.9779052734375 72 L362.0220947265625 72 L362.0220947265625 -46 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
|
||||
<path d="M-252.4582977294922 -46 L-252.4582977294922 72 L356.54168701171875 72 L356.54168701171875 -46 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
|
||||
<path d="M-325.4245910644531 -46 L-325.4245910644531 72 L283.5754089355469 72 L283.5754089355469 -46 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
|
||||
<path d="M-337.6492004394531 -46 L-337.6492004394531 72 L271.3507995605469 72 L271.3507995605469 -46 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
|
||||
<path d="M-403.69219970703125 -46 L-403.69219970703125 72 L205.30780029296875 72 L205.30780029296875 -46 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
|
||||
<path d="M-407.269287109375 -46 L-407.269287109375 72 L201.73069763183594 72 L201.73069763183594 -46 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
|
||||
<path d="M-451.919189453125 -46 L-451.919189453125 72 L157.08079528808594 72 L157.08079528808594 -46 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
|
||||
<path d="M531.9937133789062 71 L531.9937133789062 -47 L-77.00630187988281 -47 L-77.00630187988281 71 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath21">
|
||||
<path d="M-255.51829528808594 -82 L-255.51829528808594 36 L353.481689453125 36 L353.481689453125 -82 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath22">
|
||||
<path d="M-260.9988098144531 -82 L-260.9988098144531 36 L348.0011901855469 36 L348.0011901855469 -82 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath23">
|
||||
<path d="M-266.47918701171875 -82 L-266.47918701171875 36 L342.52081298828125 36 L342.52081298828125 -82 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath24">
|
||||
<path d="M-336.222900390625 -82 L-336.222900390625 36 L272.777099609375 36 L272.777099609375 -82 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath25">
|
||||
<path d="M-339.79998779296875 -82 L-339.79998779296875 36 L269.20001220703125 36 L269.20001220703125 -82 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath26">
|
||||
<path d="M-387.8981018066406 -82 L-387.8981018066406 36 L221.10189819335938 36 L221.10189819335938 -82 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath27">
|
||||
<path d="M531.9937133789062 106 L531.9937133789062 -12 L-77.00630187988281 -12 L-77.00630187988281 106 Z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-dasharray="5,5" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,105,10)">
|
||||
<path clip-path="url(#clipPath3)" d="M10.5 48.5 L10.5 97.5" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,105,10)">
|
||||
<path clip-path="url(#clipPath3)" d="M10 8 C5 8 5 0 10 0 C15 0 15 8 10 8 M10 8 L10 10 M0 10 L20 10 M10 10 L10 20 M10 20 L0 30 M10 20 L20 30" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,105,10)">
|
||||
<path clip-path="url(#clipPath3)" d="M10 8 C5 8 5 0 10 0 C15 0 15 8 10 8 M10 8 L10 10 M0 10 L20 10 M10 10 L10 20 M10 20 L0 30 M10 20 L20 30" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,12.4041,42)">
|
||||
<text clip-path="url(#clipPath4)" stroke="none" x="0" xml:space="preserve" y="11">storage maintainer</text>
|
||||
<line clip-path="url(#clipPath4)" fill="none" x1="0" x2="100.697265625" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,113.1014,42)">
|
||||
<text clip-path="url(#clipPath5)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
<line clip-path="url(#clipPath5)" fill="none" x1="0" x2="3.48046875" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,116.5818,42)">
|
||||
<text clip-path="url(#clipPath6)" stroke="none" x="0" xml:space="preserve" y="11">Storage maintainer</text>
|
||||
<line clip-path="url(#clipPath6)" fill="none" x1="0" x2="101.01416015625" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,475,10)">
|
||||
<path clip-path="url(#clipPath7)" d="M62.493648529052734 0.5 L62.493648529052734 97.5" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-dasharray="5,5" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,475,10)">
|
||||
<path clip-path="url(#clipPath7)" d="M62.493648529052734 0.5 L62.493648529052734 97.5" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,475,10)">
|
||||
<path clip-path="url(#clipPath7)" d="M0.5 0.5 L123.48729705810547 0.5 L123.48729705810547 25.5 L0.5 25.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,475,10)">
|
||||
<path clip-path="url(#clipPath7)" d="M0.5 0.5 L123.48729705810547 0.5 L123.48729705810547 25.5 L0.5 25.5 Z" fill="none" />
|
||||
<text clip-path="url(#clipPath8)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,6,6)" x="0" xml:space="preserve" y="11">system</text>
|
||||
<line clip-path="url(#clipPath8)" fill="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,6,6)" x1="0" x2="37.47412109375" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,518.4741,16)">
|
||||
<text clip-path="url(#clipPath9)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
<line clip-path="url(#clipPath9)" fill="none" x1="0" x2="3.48046875" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,521.9546,16)">
|
||||
<text clip-path="url(#clipPath10)" stroke="none" x="0" xml:space="preserve" y="11">Local storage</text>
|
||||
<line clip-path="url(#clipPath10)" fill="none" x1="0" x2="71.03271484375" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,531.9937,71)">
|
||||
<path clip-path="url(#clipPath11)" d="M0.5 0.5 L9.5 0.5 L9.5 36.5 L0.5 36.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,531.9937,71)">
|
||||
<path clip-path="url(#clipPath11)" d="M0.5 0.5 L9.5 0.5 L9.5 36.5 L0.5 36.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,75,-10)">
|
||||
<path clip-path="url(#clipPath1)" d="M456.99371337890625 81 L40 81" fill="none" />
|
||||
<text clip-path="url(#clipPath12)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,166.4974,56)" x="0" xml:space="preserve" y="11"> </text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,246.9779,46)">
|
||||
<text clip-path="url(#clipPath13)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,252.4583,46)">
|
||||
<text clip-path="url(#clipPath14)" stroke="none" x="0" xml:space="preserve" y="11">authenticated</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,325.4246,46)">
|
||||
<text clip-path="url(#clipPath15)" stroke="none" x="0" xml:space="preserve" y="11">:=</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,337.6492,46)">
|
||||
<text clip-path="url(#clipPath16)" stroke="none" x="0" xml:space="preserve" y="11">authenticate</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,403.6922,46)">
|
||||
<text clip-path="url(#clipPath17)" stroke="none" x="0" xml:space="preserve" y="11">(</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,407.26930000000004,46)">
|
||||
<text clip-path="url(#clipPath18)" stroke="none" x="0" xml:space="preserve" y="11">authinfo</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,451.91920000000005,46)">
|
||||
<text clip-path="url(#clipPath19)" stroke="none" x="0" xml:space="preserve" y="11">)</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(-1,0,0,-1,531.9937,71)">
|
||||
<path clip-path="url(#clipPath20)" d="M12 -6 L0 0 L12 6 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath20)" d="M12 -6 L0 0 L12 6 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,75,-10)">
|
||||
<path clip-path="url(#clipPath1)" d="M456.99371337890625 116 L40 116" fill="none" />
|
||||
<text clip-path="url(#clipPath21)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,180.5183,92)" x="0" xml:space="preserve" y="11"> </text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,260.9988,82)">
|
||||
<text clip-path="url(#clipPath22)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,266.4792,82)">
|
||||
<text clip-path="url(#clipPath23)" stroke="none" x="0" xml:space="preserve" y="11">createPlaylist</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,336.2229,82)">
|
||||
<text clip-path="url(#clipPath24)" stroke="none" x="0" xml:space="preserve" y="11">(</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,339.8,82)">
|
||||
<text clip-path="url(#clipPath25)" stroke="none" x="0" xml:space="preserve" y="11">playlistId</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,387.8981,82)">
|
||||
<text clip-path="url(#clipPath26)" stroke="none" x="0" xml:space="preserve" y="11">)</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(-1,8.881784197001252E-16,-8.881784197001252E-16,-1,531.9937,106)">
|
||||
<path clip-path="url(#clipPath27)" d="M12 -6 L0 0 L12 6 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath27)" d="M12 -6 L0 0 L12 6 Z" fill="none" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 18 KiB |
|
@ -1,183 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
|
||||
<svg stroke-width="1" stroke-dashoffset="0" font-size="12" stroke-dasharray="none" color-rendering="auto" font-weight="normal" color-interpolation="auto" stroke-linejoin="miter" fill="black" image-rendering="auto" font-family="'sansserif'" stroke-opacity="1" stroke-miterlimit="10" stroke="black" text-rendering="auto" font-style="normal" stroke-linecap="square" fill-opacity="1" shape-rendering="auto" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!--Generated by the Batik Graphics2D SVG Generator-->
|
||||
<defs id="genericDefs" />
|
||||
<g>
|
||||
<defs id="defs1">
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
|
||||
<path d="M-85 10 L-85 132 L484 132 L484 10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
|
||||
<path d="M0 0 L0 122 L569 122 L569 0 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
|
||||
<path d="M-105 -10 L-105 112 L464 112 L464 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
|
||||
<path d="M-12.40410041809082 -42 L-12.40410041809082 80 L556.5958862304688 80 L556.5958862304688 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
|
||||
<path d="M-113.10140228271484 -42 L-113.10140228271484 80 L455.8985900878906 80 L455.8985900878906 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
|
||||
<path d="M-116.58180236816406 -42 L-116.58180236816406 80 L452.418212890625 80 L452.418212890625 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
|
||||
<path d="M-435 -10 L-435 112 L134 112 L134 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
|
||||
<path d="M-441 -16 L-441 106 L128 106 L128 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
|
||||
<path d="M-478.4740905761719 -16 L-478.4740905761719 106 L90.5259017944336 106 L90.5259017944336 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
|
||||
<path d="M-481.95458984375 -16 L-481.95458984375 106 L87.04540252685547 106 L87.04540252685547 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
|
||||
<path d="M-491.99371337890625 -75 L-491.99371337890625 47 L77.00630187988281 47 L77.00630187988281 -75 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
|
||||
<path d="M491.99371337890625 75 L491.99371337890625 -47 L-77.00630187988281 -47 L-77.00630187988281 75 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
|
||||
<path d="M-196.50270080566406 -51 L-196.50270080566406 71 L372.497314453125 71 L372.497314453125 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
|
||||
<path d="M-201.9832000732422 -51 L-201.9832000732422 71 L367.0168151855469 71 L367.0168151855469 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
|
||||
<path d="M-207.46359252929688 -51 L-207.46359252929688 71 L361.5364074707031 71 L361.5364074707031 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
|
||||
<path d="M-280.4299011230469 -51 L-280.4299011230469 71 L288.5700988769531 71 L288.5700988769531 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
|
||||
<path d="M-292.6545104980469 -51 L-292.6545104980469 71 L276.3454895019531 71 L276.3454895019531 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
|
||||
<path d="M-358.697509765625 -51 L-358.697509765625 71 L210.30250549316406 71 L210.30250549316406 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
|
||||
<path d="M-362.27459716796875 -51 L-362.27459716796875 71 L206.72540283203125 71 L206.72540283203125 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
|
||||
<path d="M-406.9137878417969 -51 L-406.9137878417969 71 L162.08619689941406 71 L162.08619689941406 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath21">
|
||||
<path d="M491.99371337890625 110 L491.99371337890625 -12 L-77.00630187988281 -12 L-77.00630187988281 110 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath22">
|
||||
<path d="M-221.67970275878906 -86 L-221.67970275878906 36 L347.3203125 36 L347.3203125 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath23">
|
||||
<path d="M-227.1602020263672 -86 L-227.1602020263672 36 L341.8398132324219 36 L341.8398132324219 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath24">
|
||||
<path d="M-232.64059448242188 -86 L-232.64059448242188 36 L336.3594055175781 36 L336.3594055175781 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath25">
|
||||
<path d="M-317.41259765625 -86 L-317.41259765625 36 L251.58740234375 36 L251.58740234375 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath26">
|
||||
<path d="M-320.98968505859375 -86 L-320.98968505859375 36 L248.0102996826172 36 L248.0102996826172 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath27">
|
||||
<path d="M-381.7367858886719 -86 L-381.7367858886719 36 L187.26319885253906 36 L187.26319885253906 -86 Z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g color-rendering="optimizeQuality" stroke-dasharray="5,5" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,105,10)">
|
||||
<path d="M10.5 48.5 L10.5 101.5" clip-path="url(#clipPath3)" fill="none" />
|
||||
<path d="M10 8 C5 8 5 0 10 0 C15 0 15 8 10 8 M10 8 L10 10 M0 10 L20 10 M10 10 L10 20 M10 20 L0 30 M10 20 L20 30" stroke="none" clip-path="url(#clipPath3)" fill="white" />
|
||||
<path d="M10 8 C5 8 5 0 10 0 C15 0 15 8 10 8 M10 8 L10 10 M0 10 L20 10 M10 10 L10 20 M10 20 L0 30 M10 20 L20 30" stroke-dasharray="none" clip-path="url(#clipPath3)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,12.4041,42)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath4)">storage maintainer</text>
|
||||
<line x1="0" y1="12.5" x2="100.697265625" y2="12.5" clip-path="url(#clipPath4)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,113.1014,42)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath5)">:</text>
|
||||
<line x1="0" y1="12.5" x2="3.48046875" y2="12.5" clip-path="url(#clipPath5)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,116.5818,42)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath6)">Storage maintainer</text>
|
||||
<line x1="0" y1="12.5" x2="101.01416015625" y2="12.5" clip-path="url(#clipPath6)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,435,10)">
|
||||
<path d="M62.493648529052734 0.5 L62.493648529052734 101.5" stroke="none" clip-path="url(#clipPath7)" />
|
||||
<path d="M62.493648529052734 0.5 L62.493648529052734 101.5" stroke-dasharray="5,5" stroke="black" clip-path="url(#clipPath7)" fill="none" />
|
||||
<path d="M0.5 0.5 L123.48729705810547 0.5 L123.48729705810547 25.5 L0.5 25.5 Z" stroke-dasharray="5,5" stroke="none" clip-path="url(#clipPath7)" />
|
||||
<path d="M0.5 0.5 L123.48729705810547 0.5 L123.48729705810547 25.5 L0.5 25.5 Z" stroke="black" clip-path="url(#clipPath7)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,441,16)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath8)">system</text>
|
||||
<line x1="0" y1="12.5" x2="37.47412109375" y2="12.5" clip-path="url(#clipPath8)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,478.4741,16)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath9)">:</text>
|
||||
<line x1="0" y1="12.5" x2="3.48046875" y2="12.5" clip-path="url(#clipPath9)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,481.9546,16)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath10)">Local storage</text>
|
||||
<line x1="0" y1="12.5" x2="71.03271484375" y2="12.5" clip-path="url(#clipPath10)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,491.9937,75)">
|
||||
<path d="M0.5 0.5 L9.5 0.5 L9.5 36.5 L0.5 36.5 Z" stroke="none" clip-path="url(#clipPath11)" />
|
||||
<path d="M0.5 0.5 L9.5 0.5 L9.5 36.5 L0.5 36.5 Z" stroke="black" clip-path="url(#clipPath11)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,85,-10)">
|
||||
<path d="M30 85 L406.99371337890625 85" clip-path="url(#clipPath1)" fill="none" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke="none" clip-path="url(#clipPath12)" transform="matrix(-1,0,0,-1,406.9937,85)" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke-miterlimit="10" clip-path="url(#clipPath12)" fill="none" stroke-linecap="square" transform="matrix(-1,0,0,-1,406.9937,85)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,196.5027,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath13)"> </text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,201.9832,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath14)">:</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,207.4636,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath15)">authenticated</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,280.42990000000003,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath16)">:=</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,292.6545,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath17)">authenticate</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,358.6975,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath18)">(</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,362.2746,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath19)">authInfo</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,406.91380000000004,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath20)">)</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,85,-10)">
|
||||
<path d="M30 120 L406.99371337890625 120" clip-path="url(#clipPath1)" fill="none" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke="none" clip-path="url(#clipPath21)" transform="matrix(-1,0,0,-1,406.9937,120)" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke-miterlimit="10" clip-path="url(#clipPath21)" fill="none" stroke-linecap="square" transform="matrix(-1,0,0,-1,406.9937,120)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,221.6797,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath22)"> </text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,227.1602,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath23)">:</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,232.6406,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath24)">deleteAudioClip</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,317.4126,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath25)">(</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,320.9897,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath26)">audioClipId</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,381.7368,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath27)">)</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 17 KiB |
|
@ -1,193 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
|
||||
<svg color-interpolation="auto" color-rendering="auto" fill="black" fill-opacity="1" font-family="'Dialog'" font-size="12" font-style="normal" font-weight="normal" image-rendering="auto" shape-rendering="auto" stroke="black" stroke-dasharray="none" stroke-dashoffset="0" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="10" stroke-opacity="1" stroke-width="1" text-rendering="auto" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!--Generated by the Batik Graphics2D SVG Generator-->
|
||||
<defs id="genericDefs" />
|
||||
<g>
|
||||
<defs id="defs1">
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
|
||||
<path d="M-85 10 L-85 141 L504 141 L504 10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
|
||||
<path d="M0 0 L0 131 L589 131 L589 0 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
|
||||
<path d="M-105 -10 L-105 121 L484 121 L484 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
|
||||
<path d="M-12.40410041809082 -42 L-12.40410041809082 89 L576.5958862304688 89 L576.5958862304688 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
|
||||
<path d="M-113.10140228271484 -42 L-113.10140228271484 89 L475.8985900878906 89 L475.8985900878906 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
|
||||
<path d="M-116.58180236816406 -42 L-116.58180236816406 89 L472.418212890625 89 L472.418212890625 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
|
||||
<path d="M-455 -10 L-455 121 L134 121 L134 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
|
||||
<path d="M-461 -16 L-461 115 L128 115 L128 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
|
||||
<path d="M-498.4740905761719 -16 L-498.4740905761719 115 L90.5259017944336 115 L90.5259017944336 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
|
||||
<path d="M-501.95458984375 -16 L-501.95458984375 115 L87.04540252685547 115 L87.04540252685547 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
|
||||
<path d="M-511.99371337890625 -75 L-511.99371337890625 56 L77.00630187988281 56 L77.00630187988281 -75 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
|
||||
<path d="M-246.5406951904297 -52 L-246.5406951904297 79 L342.45928955078125 79 L342.45928955078125 -52 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
|
||||
<path d="M-252.0211944580078 -52 L-252.0211944580078 79 L336.9787902832031 79 L336.9787902832031 -52 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
|
||||
<path d="M-257.5015869140625 -52 L-257.5015869140625 79 L331.4984130859375 79 L331.4984130859375 -52 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
|
||||
<path d="M-330.4678955078125 -52 L-330.4678955078125 79 L258.5321044921875 79 L258.5321044921875 -52 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
|
||||
<path d="M-342.6925048828125 -52 L-342.6925048828125 79 L246.3074951171875 79 L246.3074951171875 -52 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
|
||||
<path d="M-408.7355041503906 -52 L-408.7355041503906 79 L180.26449584960938 79 L180.26449584960938 -52 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
|
||||
<path d="M-412.3125915527344 -52 L-412.3125915527344 79 L176.68739318847656 79 L176.68739318847656 -52 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
|
||||
<path d="M-456.9624938964844 -52 L-456.9624938964844 79 L132.03750610351562 79 L132.03750610351562 -52 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
|
||||
<path d="M511.99371337890625 75 L511.99371337890625 -56 L-77.00630187988281 -56 L-77.00630187988281 75 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath21">
|
||||
<path d="M-281.5075988769531 -85 L-281.5075988769531 46 L307.4924011230469 46 L307.4924011230469 -85 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath22">
|
||||
<path d="M-286.98809814453125 -85 L-286.98809814453125 46 L302.01190185546875 46 L302.01190185546875 -85 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath23">
|
||||
<path d="M-292.468505859375 -85 L-292.468505859375 46 L296.531494140625 46 L296.531494140625 -85 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath24">
|
||||
<path d="M-362.2336120605469 -85 L-362.2336120605469 46 L226.7664031982422 46 L226.7664031982422 -85 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath25">
|
||||
<path d="M-365.810791015625 -85 L-365.810791015625 46 L223.18919372558594 46 L223.18919372558594 -85 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath26">
|
||||
<path d="M-413.9089050292969 -85 L-413.9089050292969 46 L175.09109497070312 46 L175.09109497070312 -85 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath27">
|
||||
<path d="M511.99371337890625 110 L511.99371337890625 -21 L-77.00630187988281 -21 L-77.00630187988281 110 Z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-dasharray="5,5" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,105,10)">
|
||||
<path clip-path="url(#clipPath3)" d="M10.5 48.5 L10.5 101.5" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,105,10)">
|
||||
<path clip-path="url(#clipPath3)" d="M10 8 C5 8 5 0 10 0 C15 0 15 8 10 8 M10 8 L10 10 M0 10 L20 10 M10 10 L10 20 M10 20 L0 30 M10 20 L20 30" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,105,10)">
|
||||
<path clip-path="url(#clipPath3)" d="M10 8 C5 8 5 0 10 0 C15 0 15 8 10 8 M10 8 L10 10 M0 10 L20 10 M10 10 L10 20 M10 20 L0 30 M10 20 L20 30" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,12.4041,42)">
|
||||
<text clip-path="url(#clipPath4)" stroke="none" x="0" xml:space="preserve" y="11">storage maintainer</text>
|
||||
<line clip-path="url(#clipPath4)" fill="none" x1="0" x2="100.697265625" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,113.1014,42)">
|
||||
<text clip-path="url(#clipPath5)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
<line clip-path="url(#clipPath5)" fill="none" x1="0" x2="3.48046875" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,116.5818,42)">
|
||||
<text clip-path="url(#clipPath6)" stroke="none" x="0" xml:space="preserve" y="11">Storage maintainer</text>
|
||||
<line clip-path="url(#clipPath6)" fill="none" x1="0" x2="101.01416015625" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,455,10)">
|
||||
<path clip-path="url(#clipPath7)" d="M62.493648529052734 0.5 L62.493648529052734 110.5" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-dasharray="5,5" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,455,10)">
|
||||
<path clip-path="url(#clipPath7)" d="M62.493648529052734 0.5 L62.493648529052734 110.5" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,455,10)">
|
||||
<path clip-path="url(#clipPath7)" d="M0.5 0.5 L123.48729705810547 0.5 L123.48729705810547 25.5 L0.5 25.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,455,10)">
|
||||
<path clip-path="url(#clipPath7)" d="M0.5 0.5 L123.48729705810547 0.5 L123.48729705810547 25.5 L0.5 25.5 Z" fill="none" />
|
||||
<text clip-path="url(#clipPath8)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,6,6)" x="0" xml:space="preserve" y="11">system</text>
|
||||
<line clip-path="url(#clipPath8)" fill="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,6,6)" x1="0" x2="37.47412109375" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,498.4741,16)">
|
||||
<text clip-path="url(#clipPath9)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
<line clip-path="url(#clipPath9)" fill="none" x1="0" x2="3.48046875" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,501.9546,16)">
|
||||
<text clip-path="url(#clipPath10)" stroke="none" x="0" xml:space="preserve" y="11">Local storage</text>
|
||||
<line clip-path="url(#clipPath10)" fill="none" x1="0" x2="71.03271484375" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,511.9937,75)">
|
||||
<path clip-path="url(#clipPath11)" d="M0.5 0.5 L9.5 0.5 L9.5 45.5 L0.5 45.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,511.9937,75)">
|
||||
<path clip-path="url(#clipPath11)" d="M0.5 0.5 L9.5 0.5 L9.5 45.5 L0.5 45.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,85,-10)">
|
||||
<path clip-path="url(#clipPath1)" d="M426.99371337890625 85 L30 85" fill="none" />
|
||||
<text clip-path="url(#clipPath12)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,161.5407,62)" x="0" xml:space="preserve" y="11"> </text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,252.0212,52)">
|
||||
<text clip-path="url(#clipPath13)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,257.5016,52)">
|
||||
<text clip-path="url(#clipPath14)" stroke="none" x="0" xml:space="preserve" y="11">authenticated</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,330.4679,52)">
|
||||
<text clip-path="url(#clipPath15)" stroke="none" x="0" xml:space="preserve" y="11">:=</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,342.6925,52)">
|
||||
<text clip-path="url(#clipPath16)" stroke="none" x="0" xml:space="preserve" y="11">authenticate</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,408.7355,52)">
|
||||
<text clip-path="url(#clipPath17)" stroke="none" x="0" xml:space="preserve" y="11">(</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,412.3126,52)">
|
||||
<text clip-path="url(#clipPath18)" stroke="none" x="0" xml:space="preserve" y="11">authinfo</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,456.9625,52)">
|
||||
<text clip-path="url(#clipPath19)" stroke="none" x="0" xml:space="preserve" y="11">)</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(-1,0,0,-1,511.9937,75)">
|
||||
<path clip-path="url(#clipPath20)" d="M12 -6 L0 0 L12 6 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath20)" d="M12 -6 L0 0 L12 6 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,85,-10)">
|
||||
<path clip-path="url(#clipPath1)" d="M426.99371337890625 120 L30 120" fill="none" />
|
||||
<text clip-path="url(#clipPath21)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,196.5076,95)" x="0" xml:space="preserve" y="11"> </text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,286.98810000000003,85)">
|
||||
<text clip-path="url(#clipPath22)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,292.4685,85)">
|
||||
<text clip-path="url(#clipPath23)" stroke="none" x="0" xml:space="preserve" y="11">deletePlaylist</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,362.2336,85)">
|
||||
<text clip-path="url(#clipPath24)" stroke="none" x="0" xml:space="preserve" y="11">(</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,365.8108,85)">
|
||||
<text clip-path="url(#clipPath25)" stroke="none" x="0" xml:space="preserve" y="11">playlistId</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,413.9089,85)">
|
||||
<text clip-path="url(#clipPath26)" stroke="none" x="0" xml:space="preserve" y="11">)</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(-1,4.884981308350689E-15,-4.884981308350689E-15,-1,511.9937,110)">
|
||||
<path clip-path="url(#clipPath27)" d="M12 -6 L0 0 L12 6 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath27)" d="M12 -6 L0 0 L12 6 Z" fill="none" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 18 KiB |
|
@ -1,249 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
|
||||
<svg color-interpolation="auto" color-rendering="auto" fill="black" fill-opacity="1" font-family="'Dialog'" font-size="12" font-style="normal" font-weight="normal" image-rendering="auto" shape-rendering="auto" stroke="black" stroke-dasharray="none" stroke-dashoffset="0" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="10" stroke-opacity="1" stroke-width="1" text-rendering="auto" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!--Generated by the Batik Graphics2D SVG Generator-->
|
||||
<defs id="genericDefs" />
|
||||
<g>
|
||||
<defs id="defs1">
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
|
||||
<path d="M-85 10 L-85 171 L534 171 L534 10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
|
||||
<path d="M0 0 L0 161 L619 161 L619 0 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
|
||||
<path d="M-105 -10 L-105 151 L514 151 L514 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
|
||||
<path d="M-12.40410041809082 -42 L-12.40410041809082 119 L606.5958862304688 119 L606.5958862304688 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
|
||||
<path d="M-113.10140228271484 -42 L-113.10140228271484 119 L505.8985900878906 119 L505.8985900878906 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
|
||||
<path d="M-116.58180236816406 -42 L-116.58180236816406 119 L502.418212890625 119 L502.418212890625 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
|
||||
<path d="M-485 -10 L-485 151 L134 151 L134 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
|
||||
<path d="M-491 -16 L-491 145 L128 145 L128 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
|
||||
<path d="M-528.47412109375 -16 L-528.47412109375 145 L90.52587890625 145 L90.52587890625 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
|
||||
<path d="M-531.95458984375 -16 L-531.95458984375 145 L87.04541015625 145 L87.04541015625 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
|
||||
<path d="M-541.9937133789062 -75 L-541.9937133789062 86 L77.00630187988281 86 L77.00630187988281 -75 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
|
||||
<path d="M-253.21099853515625 -51 L-253.21099853515625 110 L365.78900146484375 110 L365.78900146484375 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
|
||||
<path d="M-258.6914978027344 -51 L-258.6914978027344 110 L360.3085021972656 110 L360.3085021972656 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
|
||||
<path d="M-264.1719055175781 -51 L-264.1719055175781 110 L354.8280944824219 110 L354.8280944824219 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
|
||||
<path d="M-337.1382141113281 -51 L-337.1382141113281 110 L281.8617858886719 110 L281.8617858886719 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
|
||||
<path d="M-349.36279296875 -51 L-349.36279296875 110 L269.63720703125 110 L269.63720703125 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
|
||||
<path d="M-415.4057922363281 -51 L-415.4057922363281 110 L203.5941925048828 110 L203.5941925048828 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
|
||||
<path d="M-418.98291015625 -51 L-418.98291015625 110 L200.01710510253906 110 L200.01710510253906 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
|
||||
<path d="M-463.6328125 -51 L-463.6328125 110 L155.36720275878906 110 L155.36720275878906 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
|
||||
<path d="M541.9937133789062 75 L541.9937133789062 -86 L-77.00630187988281 -86 L-77.00630187988281 75 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath21">
|
||||
<path d="M-270.52081298828125 -86 L-270.52081298828125 75 L348.47918701171875 75 L348.47918701171875 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath22">
|
||||
<path d="M-276.0013122558594 -86 L-276.0013122558594 75 L342.9986877441406 75 L342.9986877441406 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath23">
|
||||
<path d="M-281.481689453125 -86 L-281.481689453125 75 L337.518310546875 75 L337.518310546875 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath24">
|
||||
<path d="M-319.48760986328125 -86 L-319.48760986328125 75 L299.51239013671875 75 L299.51239013671875 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath25">
|
||||
<path d="M-331.7121887207031 -86 L-331.7121887207031 75 L287.2878112792969 75 L287.2878112792969 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath26">
|
||||
<path d="M-389.2204895019531 -86 L-389.2204895019531 75 L229.7794952392578 75 L229.7794952392578 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath27">
|
||||
<path d="M-392.797607421875 -86 L-392.797607421875 75 L226.202392578125 75 L226.202392578125 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath28">
|
||||
<path d="M-440.89581298828125 -86 L-440.89581298828125 75 L178.1042022705078 75 L178.1042022705078 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath29">
|
||||
<path d="M541.9937133789062 110 L541.9937133789062 -51 L-77.00630187988281 -51 L-77.00630187988281 110 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath30">
|
||||
<path d="M-304.10308837890625 -121 L-304.10308837890625 40 L314.89691162109375 40 L314.89691162109375 -121 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath31">
|
||||
<path d="M-309.5835876464844 -121 L-309.5835876464844 40 L309.4164123535156 40 L309.4164123535156 -121 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath32">
|
||||
<path d="M-315.0639953613281 -121 L-315.0639953613281 40 L303.9360046386719 40 L303.9360046386719 -121 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath33">
|
||||
<path d="M-375.7304992675781 -121 L-375.7304992675781 40 L243.26950073242188 40 L243.26950073242188 -121 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath34">
|
||||
<path d="M-379.3077087402344 -121 L-379.3077087402344 40 L239.6923065185547 40 L239.6923065185547 -121 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath35">
|
||||
<path d="M-417.3135070800781 -121 L-417.3135070800781 40 L201.68649291992188 40 L201.68649291992188 -121 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath36">
|
||||
<path d="M541.9937133789062 145 L541.9937133789062 -16 L-77.00630187988281 -16 L-77.00630187988281 145 Z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-dasharray="5,5" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,105,10)">
|
||||
<path clip-path="url(#clipPath3)" d="M10.5 48.5 L10.5 136.5" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,105,10)">
|
||||
<path clip-path="url(#clipPath3)" d="M10 8 C5 8 5 0 10 0 C15 0 15 8 10 8 M10 8 L10 10 M0 10 L20 10 M10 10 L10 20 M10 20 L0 30 M10 20 L20 30" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,105,10)">
|
||||
<path clip-path="url(#clipPath3)" d="M10 8 C5 8 5 0 10 0 C15 0 15 8 10 8 M10 8 L10 10 M0 10 L20 10 M10 10 L10 20 M10 20 L0 30 M10 20 L20 30" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,12.4041,42)">
|
||||
<text clip-path="url(#clipPath4)" stroke="none" x="0" xml:space="preserve" y="11">storage maintainer</text>
|
||||
<line clip-path="url(#clipPath4)" fill="none" x1="0" x2="100.697265625" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,113.1014,42)">
|
||||
<text clip-path="url(#clipPath5)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
<line clip-path="url(#clipPath5)" fill="none" x1="0" x2="3.48046875" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,116.5818,42)">
|
||||
<text clip-path="url(#clipPath6)" stroke="none" x="0" xml:space="preserve" y="11">Storage maintainer</text>
|
||||
<line clip-path="url(#clipPath6)" fill="none" x1="0" x2="101.01416015625" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,485,10)">
|
||||
<path clip-path="url(#clipPath7)" d="M62.493648529052734 0.5 L62.493648529052734 140.5" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-dasharray="5,5" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,485,10)">
|
||||
<path clip-path="url(#clipPath7)" d="M62.493648529052734 0.5 L62.493648529052734 140.5" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,485,10)">
|
||||
<path clip-path="url(#clipPath7)" d="M0.5 0.5 L123.48729705810547 0.5 L123.48729705810547 25.5 L0.5 25.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,485,10)">
|
||||
<path clip-path="url(#clipPath7)" d="M0.5 0.5 L123.48729705810547 0.5 L123.48729705810547 25.5 L0.5 25.5 Z" fill="none" />
|
||||
<text clip-path="url(#clipPath8)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,6,6)" x="0" xml:space="preserve" y="11">system</text>
|
||||
<line clip-path="url(#clipPath8)" fill="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,6,6)" x1="0" x2="37.47412109375" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,528.47412109375,16)">
|
||||
<text clip-path="url(#clipPath9)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
<line clip-path="url(#clipPath9)" fill="none" x1="0" x2="3.48046875" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,531.95458984375,16)">
|
||||
<text clip-path="url(#clipPath10)" stroke="none" x="0" xml:space="preserve" y="11">Local storage</text>
|
||||
<line clip-path="url(#clipPath10)" fill="none" x1="0" x2="71.03271484375" y1="12.5" y2="12.5" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,541.9937,75)">
|
||||
<path clip-path="url(#clipPath11)" d="M0.5 0.5 L9.5 0.5 L9.5 75.5 L0.5 75.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,541.9937,75)">
|
||||
<path clip-path="url(#clipPath11)" d="M0.5 0.5 L9.5 0.5 L9.5 75.5 L0.5 75.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,85,-10)">
|
||||
<path clip-path="url(#clipPath1)" d="M456.99371337890625 85 L30 85" fill="none" />
|
||||
<text clip-path="url(#clipPath12)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,168.211,61)" x="0" xml:space="preserve" y="11"> </text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,258.6915,51)">
|
||||
<text clip-path="url(#clipPath13)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,264.1719,51)">
|
||||
<text clip-path="url(#clipPath14)" stroke="none" x="0" xml:space="preserve" y="11">authenticated</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,337.1382,51)">
|
||||
<text clip-path="url(#clipPath15)" stroke="none" x="0" xml:space="preserve" y="11">:=</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,349.3628,51)">
|
||||
<text clip-path="url(#clipPath16)" stroke="none" x="0" xml:space="preserve" y="11">authenticate</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,415.4058,51)">
|
||||
<text clip-path="url(#clipPath17)" stroke="none" x="0" xml:space="preserve" y="11">(</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,418.9829,51)">
|
||||
<text clip-path="url(#clipPath18)" stroke="none" x="0" xml:space="preserve" y="11">authinfo</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,463.6328,51)">
|
||||
<text clip-path="url(#clipPath19)" stroke="none" x="0" xml:space="preserve" y="11">)</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(-1,0,0,-1,541.9937,75)">
|
||||
<path clip-path="url(#clipPath20)" d="M12 -6 L0 0 L12 6 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath20)" d="M12 -6 L0 0 L12 6 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,85,-10)">
|
||||
<path clip-path="url(#clipPath1)" d="M456.99371337890625 120 L30 120" fill="none" />
|
||||
<text clip-path="url(#clipPath21)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,185.5208,96)" x="0" xml:space="preserve" y="11"> </text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,276.0013,86)">
|
||||
<text clip-path="url(#clipPath22)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,281.4817,86)">
|
||||
<text clip-path="url(#clipPath23)" stroke="none" x="0" xml:space="preserve" y="11">playlist</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,319.4876,86)">
|
||||
<text clip-path="url(#clipPath24)" stroke="none" x="0" xml:space="preserve" y="11">:=</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,331.7122,86)">
|
||||
<text clip-path="url(#clipPath25)" stroke="none" x="0" xml:space="preserve" y="11">editPlaylist</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,389.2205,86)">
|
||||
<text clip-path="url(#clipPath26)" stroke="none" x="0" xml:space="preserve" y="11">(</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,392.7976,86)">
|
||||
<text clip-path="url(#clipPath27)" stroke="none" x="0" xml:space="preserve" y="11">playlistId</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,440.8958,86)">
|
||||
<text clip-path="url(#clipPath28)" stroke="none" x="0" xml:space="preserve" y="11">)</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(-1,0,0,-1,541.9937,110)">
|
||||
<path clip-path="url(#clipPath29)" d="M12 -6 L0 0 L12 6 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath29)" d="M12 -6 L0 0 L12 6 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,85,-10)">
|
||||
<path clip-path="url(#clipPath1)" d="M456.99371337890625 155 L30 155" fill="none" />
|
||||
<text clip-path="url(#clipPath30)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,219.1031,131)" x="0" xml:space="preserve" y="11"> </text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,309.58360000000005,121)">
|
||||
<text clip-path="url(#clipPath31)" stroke="none" x="0" xml:space="preserve" y="11">:</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,315.064,121)">
|
||||
<text clip-path="url(#clipPath32)" stroke="none" x="0" xml:space="preserve" y="11">savePlaylist</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,375.7305,121)">
|
||||
<text clip-path="url(#clipPath33)" stroke="none" x="0" xml:space="preserve" y="11">(</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,379.3077,121)">
|
||||
<text clip-path="url(#clipPath34)" stroke="none" x="0" xml:space="preserve" y="11">playlist</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,417.31350000000003,121)">
|
||||
<text clip-path="url(#clipPath35)" stroke="none" x="0" xml:space="preserve" y="11">)</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(-1,0,0,-1,541.9937,145)">
|
||||
<path clip-path="url(#clipPath36)" d="M12 -6 L0 0 L12 6 Z" stroke="none" />
|
||||
<path clip-path="url(#clipPath36)" d="M12 -6 L0 0 L12 6 Z" fill="none" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 24 KiB |
|
@ -1,210 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
|
||||
<svg color-interpolation="auto" color-rendering="auto" fill="black" fill-opacity="1" font-family="'Dialog'" font-size="12" font-style="normal" font-weight="normal" image-rendering="auto" shape-rendering="auto" stroke="black" stroke-dasharray="none" stroke-dashoffset="0" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="10" stroke-opacity="1" stroke-width="1" text-rendering="auto" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!--Generated by the Batik Graphics2D SVG Generator-->
|
||||
<defs id="genericDefs" />
|
||||
<g>
|
||||
<defs id="defs1">
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
|
||||
<path d="M4 50 L4 800 L579 800 L579 50 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
|
||||
<path d="M0 0 L0 750 L575 750 L575 0 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
|
||||
<path d="M-176 -10 L-176 740 L399 740 L399 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
|
||||
<path d="M-178 -12 L-178 738 L397 738 L397 -12 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
|
||||
<path d="M-176 -27 L-176 723 L399 723 L399 -27 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
|
||||
<path d="M-216.31289672851562 -50 L-216.31289672851562 700 L358.6871032714844 700 L358.6871032714844 -50 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
|
||||
<path d="M-248.9792022705078 -64 L-248.9792022705078 686 L326.02081298828125 686 L326.02081298828125 -64 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
|
||||
<path d="M-213.6072998046875 -150 L-213.6072998046875 600 L361.3927001953125 600 L361.3927001953125 -150 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
|
||||
<path d="M-244.76010131835938 -166 L-244.76010131835938 584 L330.2398986816406 584 L330.2398986816406 -166 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
|
||||
<path d="M-210.87269592285156 -230 L-210.87269592285156 520 L364.1272888183594 520 L364.1272888183594 -230 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
|
||||
<path d="M-242.82650756835938 -239.45590209960938 L-242.82650756835938 510.5440979003906 L332.1734924316406 510.5440979003906 L332.1734924316406 -239.45590209960938 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
|
||||
<path d="M-194.1125030517578 -310 L-194.1125030517578 440 L380.88751220703125 440 L380.88751220703125 -310 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
|
||||
<path d="M-230.9752960205078 -326 L-230.9752960205078 424 L344.0246887207031 424 L344.0246887207031 -326 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
|
||||
<path d="M-206 -390 L-206 360 L369 360 L369 -390 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
|
||||
<path d="M-239.38099670410156 -406 L-239.38099670410156 344 L335.6189880371094 344 L335.6189880371094 -406 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
|
||||
<path d="M-216 -460 L-216 290 L359 290 L359 -460 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
|
||||
<path d="M-246.96139526367188 -476 L-246.96139526367188 274 L328.0386047363281 274 L328.0386047363281 -476 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
|
||||
<path d="M-226 -530 L-226 220 L349 220 L349 -530 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
|
||||
<path d="M-251.0625 -546 L-251.0625 204 L323.9375 204 L323.9375 -546 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
|
||||
<path d="M-216 -600 L-216 150 L359 150 L359 -600 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath21">
|
||||
<path d="M-243.9080047607422 -616 L-243.9080047607422 134 L331.0920104980469 134 L331.0920104980469 -616 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath22">
|
||||
<path d="M-216 -670 L-216 80 L359 80 L359 -670 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath23">
|
||||
<path d="M-244.38070678710938 -686 L-244.38070678710938 64 L330.6192932128906 64 L330.6192932128906 -686 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath24">
|
||||
<path d="M-36 -370 L-36 380 L539 380 L539 -370 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath25">
|
||||
<path d="M-10.492899894714355 -455 L-10.492899894714355 295 L564.507080078125 295 L564.507080078125 -455 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath26">
|
||||
<path d="M-506 -440 L-506 310 L69 310 L69 -440 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath27">
|
||||
<path d="M-497.3446960449219 -525 L-497.3446960449219 225 L77.6552963256836 225 L77.6552963256836 -525 Z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,176,10)">
|
||||
<path clip-path="url(#clipPath3)" d="M0.5 0.5 L74.53269958496094 0.5 L74.53269958496094 17.5 L0.5 17.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,178,12)">
|
||||
<text clip-path="url(#clipPath4)" stroke="none" x="0" xml:space="preserve" y="11">Local storage</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,176,27)">
|
||||
<path clip-path="url(#clipPath5)" d="M0.5 0.5 L249.5 0.5 L249.5 712.5 L0.5 712.5 Z" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,176,27)">
|
||||
<path clip-path="url(#clipPath5)" d="M0.5 0.5 L249.5 0.5 L249.5 712.5 L0.5 712.5 Z" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,216.3129,50)">
|
||||
<ellipse clip-path="url(#clipPath6)" cx="90" cy="30" rx="90" ry="30" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,216.3129,50)">
|
||||
<ellipse clip-path="url(#clipPath6)" cx="90" cy="30" fill="none" rx="90" ry="30" />
|
||||
<text clip-path="url(#clipPath7)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,32.6663,14)" x="0" xml:space="preserve" y="11">UC-1 Store or update</text>
|
||||
<text clip-path="url(#clipPath7)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,32.6663,14)" x="0" xml:space="preserve" y="25">Audio clip</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,213.6073,150)">
|
||||
<ellipse clip-path="url(#clipPath8)" cx="92.70555" cy="25" rx="92.70555" ry="25" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,213.6073,150)">
|
||||
<ellipse clip-path="url(#clipPath8)" cx="92.70555" cy="25" fill="none" rx="92.70555" ry="25" />
|
||||
<text clip-path="url(#clipPath9)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,31.1528,16)" x="0" xml:space="preserve" y="11">UC-2 Delete Audio clip</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,210.8727,230)">
|
||||
<ellipse clip-path="url(#clipPath10)" cx="95.4401" cy="25.45585" rx="95.4401" ry="25.45585" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,210.8727,230)">
|
||||
<ellipse clip-path="url(#clipPath10)" cx="95.4401" cy="25.45585" fill="none" rx="95.4401" ry="25.45585" />
|
||||
<text clip-path="url(#clipPath11)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,31.9538,9.4559)" x="0" xml:space="preserve" y="11">UC-3 Update Audio clip</text>
|
||||
<text clip-path="url(#clipPath11)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,31.9538,9.4559)" x="0" xml:space="preserve" y="25">metadata</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,194.1125,310)">
|
||||
<ellipse clip-path="url(#clipPath12)" cx="112.2004" cy="25" rx="112.2004" ry="25" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,194.1125,310)">
|
||||
<ellipse clip-path="url(#clipPath12)" cx="112.2004" cy="25" fill="none" rx="112.2004" ry="25" />
|
||||
<text clip-path="url(#clipPath13)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,36.8628,16)" x="0" xml:space="preserve" y="11">UC-4 Access raw audio data</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,206,390)">
|
||||
<ellipse clip-path="url(#clipPath14)" cx="100.31285" cy="25" rx="100.31285" ry="25" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,206,390)">
|
||||
<ellipse clip-path="url(#clipPath14)" cx="100.31285" cy="25" fill="none" rx="100.31285" ry="25" />
|
||||
<text clip-path="url(#clipPath15)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,33.381,16)" x="0" xml:space="preserve" y="11">UC-5 Search in metadata</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,216,460)">
|
||||
<ellipse clip-path="url(#clipPath16)" cx="85" cy="25" rx="85" ry="25" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,216,460)">
|
||||
<ellipse clip-path="url(#clipPath16)" cx="85" cy="25" fill="none" rx="85" ry="25" />
|
||||
<text clip-path="url(#clipPath17)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,30.9614,16)" x="0" xml:space="preserve" y="11">UC-6 Create playlist</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,226,530)">
|
||||
<ellipse clip-path="url(#clipPath18)" cx="71.91185" cy="25" rx="71.91185" ry="25" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,226,530)">
|
||||
<ellipse clip-path="url(#clipPath18)" cx="71.91185" cy="25" fill="none" rx="71.91185" ry="25" />
|
||||
<text clip-path="url(#clipPath19)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,25.0625,16)" x="0" xml:space="preserve" y="11">UC-7 Edit playlist</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,216,600)">
|
||||
<ellipse clip-path="url(#clipPath20)" cx="81.627" cy="25" rx="81.627" ry="25" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,216,600)">
|
||||
<ellipse clip-path="url(#clipPath20)" cx="81.627" cy="25" fill="none" rx="81.627" ry="25" />
|
||||
<text clip-path="url(#clipPath21)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,27.908,16)" x="0" xml:space="preserve" y="11">UC-8 Delete playlist</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,216,670)">
|
||||
<ellipse clip-path="url(#clipPath22)" cx="83.2411" cy="25" rx="83.2411" ry="25" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,216,670)">
|
||||
<ellipse clip-path="url(#clipPath22)" cx="83.2411" cy="25" fill="none" rx="83.2411" ry="25" />
|
||||
<text clip-path="url(#clipPath23)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,28.3807,16)" x="0" xml:space="preserve" y="11">UC-9 Access playlist</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,36,370)">
|
||||
<path clip-path="url(#clipPath24)" d="M25 21.33333396911621 C12.5 21.33333396911621 12.5 0 25 0 C37.5 0 37.5 21.33333396911621 25 21.33333396911621 M25 21.33333396911621 L25 26.66666603088379 M0 26.66666603088379 L50 26.66666603088379 M25 26.66666603088379 L25 53.33333206176758 M25 53.33333206176758 L0 80 M25 53.33333206176758 L50 80" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,36,370)">
|
||||
<path clip-path="url(#clipPath24)" d="M25 21.33333396911621 C12.5 21.33333396911621 12.5 0 25 0 C37.5 0 37.5 21.33333396911621 25 21.33333396911621 M25 21.33333396911621 L25 26.66666603088379 M0 26.66666603088379 L50 26.66666603088379 M25 26.66666603088379 L25 53.33333206176758 M25 53.33333206176758 L0 80 M25 53.33333206176758 L50 80" fill="none" />
|
||||
<text clip-path="url(#clipPath25)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,-25.5071,85)" x="0" xml:space="preserve" y="11">Storage maintainer</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" fill="white" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke="white" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,506,440)">
|
||||
<path clip-path="url(#clipPath26)" d="M25 21.33333396911621 C12.5 21.33333396911621 12.5 0 25 0 C37.5 0 37.5 21.33333396911621 25 21.33333396911621 M25 21.33333396911621 L25 26.66666603088379 M0 26.66666603088379 L50 26.66666603088379 M25 26.66666603088379 L25 53.33333206176758 M25 53.33333206176758 L0 80 M25 53.33333206176758 L50 80" stroke="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,506,440)">
|
||||
<path clip-path="url(#clipPath26)" d="M25 21.33333396911621 C12.5 21.33333396911621 12.5 0 25 0 C37.5 0 37.5 21.33333396911621 25 21.33333396911621 M25 21.33333396911621 L25 26.66666603088379 M0 26.66666603088379 L50 26.66666603088379 M25 26.66666603088379 L25 53.33333206176758 M25 53.33333206176758 L0 80 M25 53.33333206176758 L50 80" fill="none" />
|
||||
<text clip-path="url(#clipPath27)" stroke="none" stroke-linecap="square" stroke-miterlimit="10" transform="matrix(1,0,0,1,-8.6553,85)" x="0" xml:space="preserve" y="11">Audio player</text>
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,-4,-50)">
|
||||
<path clip-path="url(#clipPath1)" d="M90 420 L217.26449584960938 311.1191101074219" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,-4,-50)">
|
||||
<path clip-path="url(#clipPath1)" d="M90 465 L210 465" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,-4,-50)">
|
||||
<path clip-path="url(#clipPath1)" d="M90 420 L234.26710510253906 146.04519653320312" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,-4,-50)">
|
||||
<path clip-path="url(#clipPath1)" d="M90 420 L223.53900146484375 233.7989959716797" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,-4,-50)">
|
||||
<path clip-path="url(#clipPath1)" d="M510 490 L419.32818603515625 390.91448974609375" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,-4,-50)">
|
||||
<path clip-path="url(#clipPath1)" d="M118.5071029663086 507.252685546875 L220.23699951171875 533.134521484375" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,-4,-50)">
|
||||
<path clip-path="url(#clipPath1)" d="M118.5071029663086 519.8922119140625 L232.0269012451172 599.106201171875" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,-4,-50)">
|
||||
<path clip-path="url(#clipPath1)" d="M107.90149688720703 522 L225.2322998046875 666.1934204101562" fill="none" />
|
||||
</g>
|
||||
<g color-interpolation="linearRGB" color-rendering="optimizeQuality" font-family="sans-serif" font-size="11" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" stroke-linecap="butt" stroke-miterlimit="1" text-rendering="optimizeLegibility" transform="matrix(1,0,0,1,-4,-50)">
|
||||
<path clip-path="url(#clipPath1)" d="M498.3446960449219 584.9854736328125 L380.8940124511719 735.9945068359375" fill="none" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 23 KiB |
|
@ -1,195 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
|
||||
<svg stroke-width="1" stroke-dashoffset="0" font-size="12" stroke-dasharray="none" color-rendering="auto" font-weight="normal" color-interpolation="auto" stroke-linejoin="miter" fill="black" image-rendering="auto" font-family="'sansserif'" stroke-opacity="1" stroke-miterlimit="10" stroke="black" text-rendering="auto" font-style="normal" stroke-linecap="square" fill-opacity="1" shape-rendering="auto" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!--Generated by the Batik Graphics2D SVG Generator-->
|
||||
<defs id="genericDefs" />
|
||||
<g>
|
||||
<defs id="defs1">
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
|
||||
<path d="M-85 10 L-85 132 L524 132 L524 10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
|
||||
<path d="M0 0 L0 122 L609 122 L609 0 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
|
||||
<path d="M-475 -10 L-475 112 L134 112 L134 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
|
||||
<path d="M-481 -16 L-481 106 L128 106 L128 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
|
||||
<path d="M-518.47412109375 -16 L-518.47412109375 106 L90.5259017944336 106 L90.5259017944336 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
|
||||
<path d="M-521.95458984375 -16 L-521.95458984375 106 L87.04540252685547 106 L87.04540252685547 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
|
||||
<path d="M-531.9937133789062 -75 L-531.9937133789062 47 L77.00630187988281 47 L77.00630187988281 -75 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
|
||||
<path d="M-105 -10 L-105 112 L504 112 L504 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
|
||||
<path d="M-12.40410041809082 -42 L-12.40410041809082 80 L596.5958862304688 80 L596.5958862304688 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
|
||||
<path d="M-113.10140228271484 -42 L-113.10140228271484 80 L495.8985900878906 80 L495.8985900878906 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
|
||||
<path d="M-116.58180236816406 -42 L-116.58180236816406 80 L492.418212890625 80 L492.418212890625 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
|
||||
<path d="M531.9937133789062 75 L531.9937133789062 -47 L-77.00630187988281 -47 L-77.00630187988281 75 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
|
||||
<path d="M-221.85499572753906 -51 L-221.85499572753906 71 L387.1449890136719 71 L387.1449890136719 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
|
||||
<path d="M-227.3354949951172 -51 L-227.3354949951172 71 L381.66448974609375 71 L381.66448974609375 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
|
||||
<path d="M-232.81590270996094 -51 L-232.81590270996094 71 L376.1841125488281 71 L376.1841125488281 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
|
||||
<path d="M-305.7821960449219 -51 L-305.7821960449219 71 L303.2178039550781 71 L303.2178039550781 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
|
||||
<path d="M-318.0068054199219 -51 L-318.0068054199219 71 L290.9931945800781 71 L290.9931945800781 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
|
||||
<path d="M-384.0498046875 -51 L-384.0498046875 71 L224.9501953125 71 L224.9501953125 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
|
||||
<path d="M-387.62689208984375 -51 L-387.62689208984375 71 L221.3730926513672 71 L221.3730926513672 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
|
||||
<path d="M-421.5614929199219 -51 L-421.5614929199219 71 L187.43850708007812 71 L187.43850708007812 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath21">
|
||||
<path d="M531.9937133789062 110 L531.9937133789062 -12 L-77.00630187988281 -12 L-77.00630187988281 110 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath22">
|
||||
<path d="M-196.2993927001953 -86 L-196.2993927001953 36 L412.7005920410156 36 L412.7005920410156 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath23">
|
||||
<path d="M-201.7799072265625 -86 L-201.7799072265625 36 L407.2200927734375 36 L407.2200927734375 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath24">
|
||||
<path d="M-207.2602996826172 -86 L-207.2602996826172 36 L401.73968505859375 36 L401.73968505859375 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath25">
|
||||
<path d="M-310.2510070800781 -86 L-310.2510070800781 36 L298.7489929199219 36 L298.7489929199219 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath26">
|
||||
<path d="M-322.4755859375 -86 L-322.4755859375 36 L286.5244140625 36 L286.5244140625 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath27">
|
||||
<path d="M-406.22711181640625 -86 L-406.22711181640625 36 L202.7729034423828 36 L202.7729034423828 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath28">
|
||||
<path d="M-409.80419921875 -86 L-409.80419921875 36 L199.19580078125 36 L199.19580078125 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath29">
|
||||
<path d="M-447.1171875 -86 L-447.1171875 36 L161.88279724121094 36 L161.88279724121094 -86 Z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g color-rendering="optimizeQuality" stroke-dasharray="5,5" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,475,10)">
|
||||
<path d="M62.493648529052734 0.5 L62.493648529052734 101.5" clip-path="url(#clipPath3)" fill="none" />
|
||||
<path d="M0.5 0.5 L123.48729705810547 0.5 L123.48729705810547 25.5 L0.5 25.5 Z" stroke="none" clip-path="url(#clipPath3)" fill="white" />
|
||||
<path d="M0.5 0.5 L123.48729705810547 0.5 L123.48729705810547 25.5 L0.5 25.5 Z" stroke-dasharray="none" clip-path="url(#clipPath3)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,481,16)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath4)">system</text>
|
||||
<line x1="0" y1="12.5" x2="37.47412109375" y2="12.5" clip-path="url(#clipPath4)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,518.4741,16)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath5)">:</text>
|
||||
<line x1="0" y1="12.5" x2="3.48046875" y2="12.5" clip-path="url(#clipPath5)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,521.9546,16)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath6)">Local storage</text>
|
||||
<line x1="0" y1="12.5" x2="71.03271484375" y2="12.5" clip-path="url(#clipPath6)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,531.9937,75)">
|
||||
<path d="M0.5 0.5 L9.5 0.5 L9.5 36.5 L0.5 36.5 Z" stroke="none" clip-path="url(#clipPath7)" />
|
||||
<path d="M0.5 0.5 L9.5 0.5 L9.5 36.5 L0.5 36.5 Z" stroke="black" clip-path="url(#clipPath7)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,105,10)">
|
||||
<path d="M10.5 48.5 L10.5 101.5" stroke="none" clip-path="url(#clipPath8)" />
|
||||
<path d="M10.5 48.5 L10.5 101.5" stroke-dasharray="5,5" stroke="black" clip-path="url(#clipPath8)" fill="none" />
|
||||
<path d="M10 8 C5 8 5 0 10 0 C15 0 15 8 10 8 M10 8 L10 10 M0 10 L20 10 M10 10 L10 20 M10 20 L0 30 M10 20 L20 30" stroke-dasharray="5,5" stroke="none" clip-path="url(#clipPath8)" />
|
||||
<path d="M10 8 C5 8 5 0 10 0 C15 0 15 8 10 8 M10 8 L10 10 M0 10 L20 10 M10 10 L10 20 M10 20 L0 30 M10 20 L20 30" stroke="black" clip-path="url(#clipPath8)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,12.4041,42)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath9)">storage maintainer</text>
|
||||
<line x1="0" y1="12.5" x2="100.697265625" y2="12.5" clip-path="url(#clipPath9)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,113.1014,42)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath10)">:</text>
|
||||
<line x1="0" y1="12.5" x2="3.48046875" y2="12.5" clip-path="url(#clipPath10)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,116.5818,42)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath11)">Storage maintainer</text>
|
||||
<line x1="0" y1="12.5" x2="101.01416015625" y2="12.5" clip-path="url(#clipPath11)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,85,-10)">
|
||||
<path d="M30 85 L446.99371337890625 85" clip-path="url(#clipPath1)" fill="none" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke="none" clip-path="url(#clipPath12)" transform="matrix(-0.9999999999999999,-3.219646771412954E-15,3.219646771412954E-15,-0.9999999999999999,446.9937,85)" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke-miterlimit="10" clip-path="url(#clipPath12)" fill="none" stroke-linecap="square" transform="matrix(-0.9999999999999999,-3.219646771412954E-15,3.219646771412954E-15,-0.9999999999999999,446.9937,85)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,221.855,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath13)"> </text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,227.3355,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath14)">:</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,232.8159,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath15)">authenticated</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,305.7822,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath16)">:=</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,318.0068,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath17)">authenticate</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,384.0498,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath18)">(</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,387.6269,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath19)">authId</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,421.5615,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath20)">)</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,85,-10)">
|
||||
<path d="M30 120 L446.99371337890625 120" clip-path="url(#clipPath1)" fill="none" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke="none" clip-path="url(#clipPath21)" transform="matrix(-1,-6.328271240363392E-15,6.328271240363392E-15,-1,446.9937,120)" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke-miterlimit="10" clip-path="url(#clipPath21)" fill="none" stroke-linecap="square" transform="matrix(-1,-6.328271240363392E-15,6.328271240363392E-15,-1,446.9937,120)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,196.2994,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath22)"> </text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,201.7799,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath23)">:</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,207.2603,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath24)">matchingUniqueIds</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,310.251,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath25)">:=</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,322.4756,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath26)">searchMetadata</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,406.2271,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath27)">(</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,409.80420000000004,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath28)">criteria</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,447.1172,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath29)">)</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 18 KiB |
|
@ -1,195 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
|
||||
<svg stroke-width="1" stroke-dashoffset="0" font-size="12" stroke-dasharray="none" color-rendering="auto" font-weight="normal" color-interpolation="auto" stroke-linejoin="miter" fill="black" image-rendering="auto" font-family="'sansserif'" stroke-opacity="1" stroke-miterlimit="10" stroke="black" text-rendering="auto" font-style="normal" stroke-linecap="square" fill-opacity="1" shape-rendering="auto" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!--Generated by the Batik Graphics2D SVG Generator-->
|
||||
<defs id="genericDefs" />
|
||||
<g>
|
||||
<defs id="defs1">
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
|
||||
<path d="M-25 10 L-25 181 L594 181 L594 10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
|
||||
<path d="M0 0 L0 171 L619 171 L619 0 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
|
||||
<path d="M-485 -10 L-485 161 L134 161 L134 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
|
||||
<path d="M-491 -16 L-491 155 L128 155 L128 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
|
||||
<path d="M-528.47412109375 -16 L-528.47412109375 155 L90.5259017944336 155 L90.5259017944336 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
|
||||
<path d="M-531.95458984375 -16 L-531.95458984375 155 L87.04540252685547 155 L87.04540252685547 -16 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
|
||||
<path d="M-541.9937133789062 -75 L-541.9937133789062 96 L77.00630187988281 96 L77.00630187988281 -75 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
|
||||
<path d="M-105 -10 L-105 161 L514 161 L514 -10 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
|
||||
<path d="M-12.40410041809082 -42 L-12.40410041809082 129 L606.5958862304688 129 L606.5958862304688 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
|
||||
<path d="M-113.10140228271484 -42 L-113.10140228271484 129 L505.8985900878906 129 L505.8985900878906 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
|
||||
<path d="M-116.58180236816406 -42 L-116.58180236816406 129 L502.418212890625 129 L502.418212890625 -42 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
|
||||
<path d="M541.9937133789062 75 L541.9937133789062 -96 L-77.00630187988281 -96 L-77.00630187988281 75 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
|
||||
<path d="M-221.50270080566406 -51 L-221.50270080566406 120 L397.497314453125 120 L397.497314453125 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
|
||||
<path d="M-226.9832000732422 -51 L-226.9832000732422 120 L392.0168151855469 120 L392.0168151855469 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
|
||||
<path d="M-232.46359252929688 -51 L-232.46359252929688 120 L386.5364074707031 120 L386.5364074707031 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
|
||||
<path d="M-305.4299011230469 -51 L-305.4299011230469 120 L313.5700988769531 120 L313.5700988769531 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
|
||||
<path d="M-317.6545104980469 -51 L-317.6545104980469 120 L301.3454895019531 120 L301.3454895019531 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
|
||||
<path d="M-383.697509765625 -51 L-383.697509765625 120 L235.30250549316406 120 L235.30250549316406 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
|
||||
<path d="M-387.27459716796875 -51 L-387.27459716796875 120 L231.72540283203125 120 L231.72540283203125 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
|
||||
<path d="M-431.9137878417969 -51 L-431.9137878417969 120 L187.08619689941406 120 L187.08619689941406 -51 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath21">
|
||||
<path d="M541.9937133789062 110 L541.9937133789062 -61 L-77.00630187988281 -61 L-77.00630187988281 110 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath22">
|
||||
<path d="M-217.98739624023438 -86 L-217.98739624023438 85 L401.0126037597656 85 L401.0126037597656 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath23">
|
||||
<path d="M-223.4678955078125 -86 L-223.4678955078125 85 L395.5321044921875 85 L395.5321044921875 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath24">
|
||||
<path d="M-228.94830322265625 -86 L-228.94830322265625 85 L390.05169677734375 85 L390.05169677734375 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath25">
|
||||
<path d="M-289.6954040527344 -86 L-289.6954040527344 85 L329.3045959472656 85 L329.3045959472656 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath26">
|
||||
<path d="M-301.9200134277344 -86 L-301.9200134277344 85 L317.0799865722656 85 L317.0799865722656 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath27">
|
||||
<path d="M-381.1972961425781 -86 L-381.1972961425781 85 L237.80270385742188 85 L237.80270385742188 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath28">
|
||||
<path d="M-384.7745056152344 -86 L-384.7745056152344 85 L234.22549438476562 85 L234.22549438476562 -86 Z" />
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath29">
|
||||
<path d="M-435.4292907714844 -86 L-435.4292907714844 85 L183.57069396972656 85 L183.57069396972656 -86 Z" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g color-rendering="optimizeQuality" stroke-dasharray="5,5" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,485,10)">
|
||||
<path d="M62.493648529052734 0.5 L62.493648529052734 150.5" clip-path="url(#clipPath3)" fill="none" />
|
||||
<path d="M0.5 0.5 L123.48729705810547 0.5 L123.48729705810547 25.5 L0.5 25.5 Z" stroke="none" clip-path="url(#clipPath3)" fill="white" />
|
||||
<path d="M0.5 0.5 L123.48729705810547 0.5 L123.48729705810547 25.5 L0.5 25.5 Z" stroke-dasharray="none" clip-path="url(#clipPath3)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,491,16)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath4)">system</text>
|
||||
<line x1="0" y1="12.5" x2="37.47412109375" y2="12.5" clip-path="url(#clipPath4)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,528.4741,16)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath5)">:</text>
|
||||
<line x1="0" y1="12.5" x2="3.48046875" y2="12.5" clip-path="url(#clipPath5)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,531.9546,16)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath6)">Local storage</text>
|
||||
<line x1="0" y1="12.5" x2="71.03271484375" y2="12.5" clip-path="url(#clipPath6)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,541.9937,75)">
|
||||
<path d="M0.5 0.5 L9.5 0.5 L9.5 85.5 L0.5 85.5 Z" stroke="none" clip-path="url(#clipPath7)" />
|
||||
<path d="M0.5 0.5 L9.5 0.5 L9.5 85.5 L0.5 85.5 Z" stroke="black" clip-path="url(#clipPath7)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke="white" fill="white" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,105,10)">
|
||||
<path d="M10.5 48.5 L10.5 150.5" stroke="none" clip-path="url(#clipPath8)" />
|
||||
<path d="M10.5 48.5 L10.5 150.5" stroke-dasharray="5,5" stroke="black" clip-path="url(#clipPath8)" fill="none" />
|
||||
<path d="M10 8 C5 8 5 0 10 0 C15 0 15 8 10 8 M10 8 L10 10 M0 10 L20 10 M10 10 L10 20 M10 20 L0 30 M10 20 L20 30" stroke-dasharray="5,5" stroke="none" clip-path="url(#clipPath8)" />
|
||||
<path d="M10 8 C5 8 5 0 10 0 C15 0 15 8 10 8 M10 8 L10 10 M0 10 L20 10 M10 10 L10 20 M10 20 L0 30 M10 20 L20 30" stroke="black" clip-path="url(#clipPath8)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,12.4041,42)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath9)">storage maintainer</text>
|
||||
<line x1="0" y1="12.5" x2="100.697265625" y2="12.5" clip-path="url(#clipPath9)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,113.1014,42)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath10)">:</text>
|
||||
<line x1="0" y1="12.5" x2="3.48046875" y2="12.5" clip-path="url(#clipPath10)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,116.5818,42)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath11)">Storage maintainer</text>
|
||||
<line x1="0" y1="12.5" x2="101.01416015625" y2="12.5" clip-path="url(#clipPath11)" fill="none" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,25,-10)">
|
||||
<path d="M90 85 L516.9937133789062 85" clip-path="url(#clipPath1)" fill="none" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke="none" clip-path="url(#clipPath12)" transform="matrix(-1,0,0,-1,516.9937,85)" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke-miterlimit="10" clip-path="url(#clipPath12)" fill="none" stroke-linecap="square" transform="matrix(-1,0,0,-1,516.9937,85)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,221.5027,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath13)"> </text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,226.9832,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath14)">:</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,232.4636,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath15)">authenticated</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,305.42990000000003,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath16)">:=</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,317.6545,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath17)">authenticate</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,383.6975,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath18)">(</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,387.2746,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath19)">authInfo</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,431.91380000000004,51)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath20)">)</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" stroke-miterlimit="1" color-interpolation="linearRGB" text-rendering="optimizeLegibility" stroke-linecap="butt" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,25,-10)">
|
||||
<path d="M90 120 L516.9937133789062 120" clip-path="url(#clipPath1)" fill="none" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke="none" clip-path="url(#clipPath21)" transform="matrix(-1,0,0,-1,516.9937,120)" />
|
||||
<path d="M12 -6 L0 0 L12 6 Z" stroke-miterlimit="10" clip-path="url(#clipPath21)" fill="none" stroke-linecap="square" transform="matrix(-1,0,0,-1,516.9937,120)" />
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,217.9874,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath22)"> </text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,223.46790000000001,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath23)">:</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,228.94830000000002,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath24)">audioClipId</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,289.6954,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath25)">:=</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,301.92,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath26)">storeAudioClip</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,381.19730000000004,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath27)">(</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,384.7745,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath28)">audioClip</text>
|
||||
</g>
|
||||
<g font-family="sans-serif" font-size="11" color-rendering="optimizeQuality" color-interpolation="linearRGB" text-rendering="optimizeLegibility" shape-rendering="geometricPrecision" image-rendering="optimizeQuality" transform="matrix(1,0,0,1,435.4293,86)">
|
||||
<text x="0" y="11" xml:space="preserve" stroke="none" clip-path="url(#clipPath29)">)</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 18 KiB |