<?xml version = "1.0" ?>
<Interface>
	
	<!-- Misc. settings. -->
	<Initialization>
		
		<!-- The title of the main window. -->
		<WindowTitle>Window Title</WindowTitle>
		
		<!-- Host and port number of the server. -->
		<MasterHost>localhost</MasterHost>
		<MasterPort>8701</MasterPort>
		
		<!-- Socket buffer size in bytes. -->
		<SocketBufferSize>1048576</SocketBufferSize>
		
		<!-- Host and port number of the KeepAlive ynode. -->
		<KeepAliveHost>localhost</KeepAliveHost>
		<KeepAlivePort>8602</KeepAlivePort>
		
		<!-- The input port which is used for incoming data. -->
		<InputPort>8601</InputPort>
		
		<!-- Timeout time in seconds. -->
		<!-- Setting this to zero sets timeout to infinity. -->
		<TimeOut>0</TimeOut>
		
		<!-- The default value used when resetting the values on a time out. -->
		<DefaultValue>0</DefaultValue>
		
		<!-- Bar type. -->
		<!-- Try setting this to: 0, 1, 2, 3, 4, 5, 6, 7, 8 or 9 -->
		<DefaultBarType>7</DefaultBarType>
		
		<!-- Global default rendering settings. -->
		<!-- Valid values: 'true' or 'false'. -->
		<AdvancedLighting>true</AdvancedLighting>
		<Fog>true</Fog>
		<BarShading>true</BarShading>
		<NodeShading>false</NodeShading>
		<AntiAliasing>true</AntiAliasing>
		<Skybox>true</Skybox>
		
	</Initialization>
	
	<!-- Network topology settings. -->
	<Topology>
		
		<!-- A relative path to the topology save file. -->
		<File>TopologyTool/topology.default16.save</File>
		
		<!-- The node types are used for grouping data to nodes per type -->
		<NodeTypes>
			
			<!-- ID should start at 1! (zero is reserved) -->
			<!-- Name is the string which is used in the GUI -->
			<!-- In a hierarchichal topology, level determines how high up
			     in the tree the node is located. 0 is the top or root level. -->
			<!-- Color is the default color used for nodes of this type when 
			     no data set is defined for the node. -->
			
			<NodeType>
				<ID>1</ID>
				<Name>C Router</Name>
				<Level>0</Level>
				<Colors><Color>
					<Red>0.9</Red>
					<Green>0.9</Green>
					<Blue>1.0</Blue>
				</Color></Colors>
			</NodeType>
			<NodeType>
				<ID>2</ID>
				<Name>A Router</Name>
				<Level>1</Level>
				<Colors><Color>
					<Red>0.8</Red>
					<Green>0.7</Green>
					<Blue>1.0</Blue>
				</Color></Colors>
			</NodeType>
			<NodeType>
				<ID>3</ID>
				<Name>Switch</Name>
				<Level>2</Level>
				<Colors><Color>
					<Red>0.8</Red>
					<Green>0.7</Green>
					<Blue>1.0</Blue>
				</Color></Colors>
			</NodeType>
			<NodeType>
				<ID>4</ID>
				<Name>X-node</Name>
				<Level>3</Level>
				<Colors><Color>
					<Red>0.6</Red>
					<Green>0.4</Green>
					<Blue>1.0</Blue>
				</Color></Colors>
			</NodeType>
			<NodeType>
				<ID>5</ID>
				<Name>Y-node</Name>
				<Level>3</Level>
				<Colors><Color>
					<Red>0.6</Red>
					<Green>0.4</Green>
					<Blue>1.0</Blue>
				</Color></Colors>
			</NodeType>
			<NodeType>
				<ID>6</ID>
				<Name>Z-node</Name>
				<Level>3</Level>
				<Colors><Color>
					<Red>0.7</Red>
					<Green>0.7</Green>
					<Blue>0.7</Blue>
				</Color></Colors>
			</NodeType>
		</NodeTypes>
		
	</Topology>
	
	<!-- A list of commands that may be sent to the server. -->
	<Commands>
		
		<!-- ID should start at 0! -->
		<!-- Name is used in the GUI and should not be too long or it wont fit. -->
		<!-- The message sent to the server is "testCommand this is a test" (the
		     content of MessagePrefix and Message separated by a space)
		     The rationale behind having both the MessagePrefix and Message tags
		     is that the intent was to create a more flexible system where 
			 the messages could also contain varaibles. This was never implemented. -->
		
		<Command>
			<ID>0</ID>
			<Name>Test Command</Name>
			<MessagePrefix>testCommand</MessagePrefix>
			<Message>this is a test</Message>
		</Command>
	
	</Commands>
	
	<!-- A list of categories used for data which is split per category. -->
	<Categories>
		
		<!-- You can specify several category sets, however, currently
		     only one category set is supported by the software. -->
		<!-- ID should start at 1! (zero is reserved) -->
		<!-- Name is used in the GUI and should not be too long or it wont fit. -->
		<!-- Each category must have at least one CategoryItem, however a category
		     should have at least two for it to make any sense. -->
		<!-- CategoryItem Name is used in the GUI -->
		<!-- CategoryItem ParseName is used for identifying the category in
		     server messages -->
		<!-- CategoryItem Color is the default color used for that category. -->
		
		<Category>
			
			<ID>1</ID>
			<Name>Movie Categories</Name>
			
			<CategoryItem>
				<Name>Action</Name>
				<ParseName>action</ParseName>
				<Colors><Color>
					<Red>1.0</Red>
					<Green>0.0</Green>
					<Blue>0.0</Blue>
				</Color></Colors>
			</CategoryItem>
			
			<CategoryItem>
				<Name>Horror</Name>
				<ParseName>horror</ParseName>
				<Colors><Color>
					<Red>1.0</Red>
					<Green>0.5</Green>
					<Blue>0.0</Blue>
				</Color></Colors>
			</CategoryItem>
			
			<CategoryItem>
				<Name>Science Fiction</Name>
				<ParseName>sci-fi</ParseName>
				<Colors><Color>
					<Red>1.0</Red>
					<Green>1.0</Green>
					<Blue>0.0</Blue>
				</Color></Colors>
			</CategoryItem>
			
			<CategoryItem>
				<Name>Comedy</Name>
				<ParseName>comedy</ParseName>
				<Colors><Color>
					<Red>0.0</Red>
					<Green>1.0</Green>
					<Blue>0.0</Blue>
				</Color></Colors>
			</CategoryItem>
			
			<CategoryItem>
				<Name>Western</Name>
				<ParseName>western</ParseName>
				<Colors><Color>
					<Red>0.0</Red>
					<Green>1.0</Green>
					<Blue>1.0</Blue>
				</Color></Colors>
			</CategoryItem>
			
			<CategoryItem>
				<Name>Other</Name>
				<ParseName>other</ParseName>
				<Colors><Color>
					<Red>0.0</Red>
					<Green>0.0</Green>
					<Blue>1.0</Blue>
				</Color></Colors>
			</CategoryItem>
			
		</Category>
		
	</Categories>
	
	<!-- A list of data set definitions. -->
	<Data>
		
		<!-- ID should start at 0! -->
		<!-- Name is used in the GUI and should not be too long or it wont fit. -->
		<!-- ParseName is used for identifying the category in server messages. -->
		<!-- Set is either 1 (nodes) or 2 (relations). -->
		<!-- Category is either 0 (data not split by category)
		     or 1, 2, 3 (referring to the ID of the categories defined above). -->
		<!-- ParseStrat defines which parsing strategy to use.
		     Valid values: 0, 1, 2, 3, 4. -->
		<!-- Dimension is the number of dimensions used.
		     For ParseStrat 0, 1 and 3 it should always be 1.
			 For ParseStrat 4 it should be 2.
			 For ParseStrat 2 it should be the number of values N.-->
		<!-- NodeType is a hint telling us which type of nodes this
		     data set is intended for, refers to the ID used for the
			 NodeType definitions above. The GUI will assume you want the
			 DataSet tied to the datatype you specify here but this can
			 be set in the GUI manually later and you may even plot data
			 to any nodes you wish. -->
		<!-- Max is a value which is the expected maximum value in this data set. 
		     Sending higher values will not break the system. -->
		<!-- Min is the expected minimum value. Currently this is undefined
		     for anything but 0. -->
		<!-- Colors defines a start and end color in a gradient for plotting
		     singular data to nodes or links This needs to be defined even if
			 the DataSet defines a multidimensional data or  data split by
			 categories and has in these cases no effect. -->
		
		<DataSet>
			<ID>0</ID>
			<Name>Set A</Name>
			<ParseName>ynodestat</ParseName>
			<Set>1</Set>
			<Category>1</Category>
			<ParseStrat>2</ParseStrat>
			<Dimension>5</Dimension>
			<NodeType>5</NodeType>
			<Max>256</Max>
			<Min>0</Min>
			<Colors>
				<Color>
					<Red>1.0</Red>
					<Green>1.0</Green>
					<Blue>1.0</Blue>
				</Color>
				<Color>
					<Red>1.0</Red>
					<Green>1.0</Green>
					<Blue>1.0</Blue>
				</Color>
			</Colors>
		</DataSet>
		
		<DataSet>
			<ID>1</ID>
			<Name>Set B</Name>
			<ParseName>xnodestat</ParseName>
			<Set>1</Set>
			<Category>1</Category>
			<ParseStrat>1</ParseStrat>
			<Dimension>1</Dimension>
			<NodeType>4</NodeType>
			<Max>512</Max>
			<Min>0</Min>
			<Colors>
				<Color>
					<Red>1.0</Red>
					<Green>1.0</Green>
					<Blue>1.0</Blue>
				</Color>
				<Color>
					<Red>1.0</Red>
					<Green>1.0</Green>
					<Blue>1.0</Blue>
				</Color>
			</Colors>
		</DataSet>
		
		<DataSet>
			<ID>2</ID>
			<Name>Link A</Name>
			<ParseName>routerutil</ParseName>
			<Set>2</Set>
			<Category>0</Category>
			<ParseStrat>3</ParseStrat>
			<Dimension>1</Dimension>
			<NodeType>0</NodeType>
			<Max>1</Max>
			<Min>0</Min>
			<Colors>
				<Color>
					<Red>0.4</Red>
					<Green>1.0</Green>
					<Blue>1.0</Blue>
				</Color>
				<Color>
					<Red>1.0</Red>
					<Green>0.0</Green>
					<Blue>0.0</Blue>
				</Color>
			</Colors>
		</DataSet>
		
		<DataSet>
			<ID>3</ID>
			<Name>Link B</Name>
			<ParseName>routerdelay</ParseName>
			<Set>2</Set>
			<Category>0</Category>
			<ParseStrat>3</ParseStrat>
			<Dimension>1</Dimension>
			<NodeType>0</NodeType>
			<Max>1</Max>
			<Min>0</Min>
			<Colors>
				<Color>
					<Red>1.0</Red>
					<Green>1.0</Green>
					<Blue>0.4</Blue>
				</Color>
				<Color>
					<Red>0.0</Red>
					<Green>0.0</Green>
					<Blue>1.0</Blue>
				</Color>
			</Colors>
		</DataSet>
		
		<DataSet>
			<ID>4</ID>
			<Name>Test2d</Name>
			<ParseName>routertest2d</ParseName>
			<Set>2</Set>
			<Category>0</Category>
			<ParseStrat>4</ParseStrat>
			<Dimension>2</Dimension>
			<NodeType>0</NodeType>
			<Max>1</Max>
			<Min>0</Min>
			<Colors>
				<Color>
					<Red>1.0</Red>
					<Green>1.0</Green>
					<Blue>0.4</Blue>
				</Color>
				<Color>
					<Red>0.0</Red>
					<Green>0.0</Green>
					<Blue>1.0</Blue>
				</Color>
			</Colors>
		</DataSet>
		
		<!-- Null (This set is required and should not be modified) -->
		
		<DataSet>
			<ID>5</ID>
			<Name>Null</Name>
			<ParseName>null</ParseName>
			<Set>1</Set>
			<Category>0</Category>
			<ParseStrat>0</ParseStrat>
			<Dimension>1</Dimension>
			<NodeType>0</NodeType>
			<Max>512</Max>
			<Min>0</Min>
			<Colors>
				<Color>
					<Red>1.0</Red>
					<Green>1.0</Green>
					<Blue>1.0</Blue>
				</Color>
				<Color>
					<Red>1.0</Red>
					<Green>1.0</Green>
					<Blue>1.0</Blue>
				</Color>
			</Colors>
		</DataSet>
			
	</Data>
	
</Interface>


