#
# Map drawing script file
#
# Command     : server { ... }
# Description : Specifies a server to connect, fetch statistics, draw the
#               server on map and to show its status on the map.  See the
#               example server command below for all parameters of this
#               command.
#
# Command     : loadmap { filename = <filename>; };
# Example     : loadmap { filename = "world_map.ppm"; };
# Description : Load the source bitmap image file to be used as the map
#
# Command     : writemap { filename = <filename>; };
# Example     : writemap { filename = "map.ppm"; };
# Description : Write the target bitmap image file
#
# Command     : writemaphtml { filename = <filename>; image = <filename>;
#                              cut_lat = <lat>; cut_lon = <lon>; };
# Example     : writemaphtml { filename = "htmlmap.map"; image = "map.jpg"; };
# Description : Write the gathered information as as HTML map page.  This
# 		allows the user to click the specified points of URLs.
#               The html_url parameter in server will specify the 
#               URL that will be used in the HTML map.  If omitted the
#               filename created by writehml command is used.  The <cut_lat>
#               and <cut_lon> are specified if the <image> is a portion of
#               the original map image.  In this case the lat and lon specify
#               which portion it is.
#
# Command     : writehtml { filename = <filename>; class = <class>; };
# Example     : writehtml { filename = "index.html"; };
# Description : Write the gathered information as HTML pages.  Every server
#               command will have their own HTML file.  The filename is
#               based on the hostname of the server.  The index HTML file
#               will include list of the servers.  The generated HTML files
#               are quite raw and are intended to be embedded into user's
#               own website.  If <class> is defined it is used as the
#               CSS class in the created HTML page.
#
# Command     : writerel { filename = <filename>; class = <class;> };
# Example     : writerel { filename = "reliability.html"; };
# Description : Writes a reliability graph of the servers.  When SILC Map
#               is run several times the uptime statistics of the servers
#               that measure the reliability of the servers are drawn into
#               the reliability graph.  The uptime statistics will be
#               saved into corresponding server filename.  If <class>
#               is defined it is used as the CSS class in the created HTML
#               file.
#
# Command     : cut { lat = <lat>; lon = <lon>; width = <width>; 
#                     height = <height>; filename = <filename>; };
# Example     : cut { lat = "20"; lon = "5"; width = "1000"; height = "700";
#                     filename = "map_chunk.ppm"; };
# Description : Cuts a chunk from the source image at specified location.
#               The chunk will be <width> * <height> pixels in size.  The
#               <filename> is the output bitmap file where the chunk is saved.
#
# Command     : rectangle { lat = <lat>; lon = <lon>; color = <color>; 
#                           label = <label>; lposx = <x>; lposy = <y>; 
#                           lcolor = <label color>; };
# Example     : rectangle { lat = "-31 30"; lon = "0"; color = "0 0 255"; 
#                           label = "text"; lposx = "-10", lposy = "15"; };
# Description : Draws a rectangle at specified location.  The center of the
#               rectangle will be at specified location.  If the <label>
#               is specified, that text will appear with the rectangle at the
#               <lposx> and <lposy> pixel location in relation to the
#               rectangle.  If <lcolor> is omitted the <color> is used.
#
# Command     : circle { lat = <lat>; lon = <lon>; color = <color>;
#                        label = <label>; lposx = <x>; lposy = <y>; 
#                        lcolor = <label color>; };
# Example     : circle { lat = "31 30"; lon = "0"; color = "255 255 255"; };
# Description : Draws a circle at specified location.  The center of the
#               circle will be at specified location.  If the <label>
#               is specified, that text will appear with the circle at the
#               <lposx> and <lposy> pixel location in relation to the 
#               circle.  If <lcolor> is omitted the <color> is used.
#
# Command     : line { a_lat = <lat>; a_lon = <lon>; b_lat = <lat>;
#                      b_lon = <lon>; width = <width>; color = <color>; };
# Description : Draws a straight line between points a and b.  The <width>
#               is line width in pixels.  If omitted, default is 1.
#
# Command     : text { lat = <lat>; lon = <lon>; color = <color>;
#                      text = <text>; };
# Example     : text { lat = "63 42 13", lon = "23 17 34", color = "0 0 255";
#                      text = "This is an example text"; };
# Description : Prints the text <text> at the specified location
#
# The <lat> is in format DD MM SS, where DD is degrees, MM minutes, and
# SS seconds.  If DD is positive the latitude is north bound, if negative 
# it is south bound.  At least DD must be specified.
#
# The <lon> is in format DD MM SS, where DD is degrees, MM minutes, and
# SS seconds.  If DD is positive the longitude is east bound, if negative 
# it is west bound.  At least DD must be specified.
#
# The <color> is in format RRR GGG BBB, where RRR is red, GGG green and
# BBB blue, between 0 - 255.
#

loadmap   { filename = "map.ppm"; };
writemaphtml { filename = "map.html"; image = "map.jpg"; };

server {
	# Server details
	hostname 	= "eample.server.com";
	ip		= "10.2.1.1";
	port 		= "706";
	public_key	= "example.server.com_706.pub";
	country		= "Finland";
	city		= "Kuopio";
	admin		= "pekka";
	description	= "";

	# Connection parameters
	connect		= false;
	connect_timeout	= "30";

        # URL used in writemaphtml and writehtml, instead of hostname
        #html_url = "";

	# Statistics to fetch
	starttime	= true;
	uptime		= true;
	clients		= true;
	channels	= true;
	server_ops	= true;
	router_ops	= true;
	cell_clients 	= true;
	cell_channels 	= true;
	cell_servers 	= true;
	all_clients 	= true;
	all_channels 	= true;
	all_servers 	= true;
	all_routers 	= true;
	all_server_ops 	= true;
	all_router_ops 	= true;

	# Fetch message of the day
	motd		= true;

	# Status colors when server is either up or down
	up_color 	= "150 200 190";
	down_color 	= "150 0 0";
	up_text_color 	= "60 200 200";
	down_text_color = "150 0 0";

	# Draw this server on the map
	rectangle { lat = "36 00"; lon = "25 00";
		    label = "example.server.com";
		    lposx = "-30"; lposy = "10"; };
};

writemap  { filename = "testi2.ppm"; };
