--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/windowing/windowserver/test/scripts/wsini-writer.pl Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,115 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#!perl
+
+use strict;
+
+my $file = $ARGV[0];
+
+die "Usage: $0 filename\n" if (!$file);
+die "ERROR: \"$file\" does not exist\n" if (!-f $file);
+
+&AddNoRedrawStoring($file) if($ARGV[3] =~ /^noredrawstoring$/i);
+&AddAutoLine($file) if ($ARGV[2] =~ /^auto$/i);
+&AddMultiLine($file) if ($ARGV[1] =~ /^multiscreen$/i);
+
+
+# This function adds a line to a wsini.ini so that it runs the tests in auto mode
+# This functions assumes the file is in UTF16
+sub AddAutoLine
+{
+ my $file = shift;
+
+ my $string = &ascii_to_utf16('SHELLCMD AUTO');
+
+ &Write_UTF16_Newline($file);
+
+ open(FILE, ">>$file") or warn "WARNING: Could not open file: $!\n";
+ print FILE $string;
+ close FILE;
+
+ &Write_UTF16_Newline($file);
+}
+
+
+# This function adds a line to a wsini.ini so that it runs in multiscreen
+# This functions assumes the file is in UTF16
+sub AddMultiLine
+{
+ my $file = shift;
+
+ my $string0 = &ascii_to_utf16('[SCREEN0]');
+ my $string1 = &ascii_to_utf16('[SCREEN1]');
+
+ &Write_UTF16_Newline($file);
+
+ open(FILE0, ">>$file") or warn "WARNING: Could not open file: $!\n";
+ print FILE0 $string0;
+ close FILE0;
+ &Write_UTF16_Newline($file);
+
+ open(FILE1, ">>$file") or warn "WARNING: Could not open file: $!\n";
+ print FILE1 $string1;
+ close FILE1;
+ &Write_UTF16_Newline($file);
+}
+
+# This function adds a line to a wsini.ini so that it runs the tests with NOREDRAWSTORING flag
+# This functions assumes the file is in UTF16
+sub AddNoRedrawStoring
+{
+ my $file = shift;
+
+ my $string = &ascii_to_utf16('NOREDRAWSTORING');
+
+ &Write_UTF16_Newline($file);
+
+ open(FILE, ">>$file") or warn "WARNING: Could not open file: $!\n";
+ print FILE $string;
+ close FILE;
+
+ &Write_UTF16_Newline($file);
+}
+
+
+sub Write_UTF16_Newline
+{
+ my $file = shift;
+
+ open(BIN, ">>$file") or warn "WARNING: Could not open \"$file\": $!\n";
+ binmode BIN;
+ sysseek BIN, 0, 'SEEK_END';
+ syswrite BIN, "\x0D\x00\x0A\x00" or warn "WARNING: Could not write to file\n";
+ close BIN;
+}
+
+
+
+# Function that accepts an ASCII string and returns the same string in UTF16
+sub ascii_to_utf16 {
+ my $utf16_string = "";
+ my $ascii_string = shift;
+ my $lengthofstring = length($ascii_string);
+
+ for (my $count=1; $count<=$lengthofstring; $count++)
+ {
+ my $char = substr($ascii_string,$count-1,1);
+ $utf16_string .= $char;
+ $utf16_string .= "\x00";
+ }
+
+ return $utf16_string;
+}
\ No newline at end of file