xref: /aoo41x/main/sal/qa/rtl/process/child_process.cxx (revision cdf0e10c)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 // MARKER(update_precomp.py): autogen include statement, do not remove
29 #include "precompiled_sal.hxx"
30 
31 #include <stdio.h>
32 #include "sal/main.h"
33 #include <rtl/process.h>
34 #include <rtl_Process_Const.h>
35 
36 using namespace ::rtl;
37 
38 // ----------------------------------- Main -----------------------------------
39 SAL_IMPLEMENT_MAIN_WITH_ARGS(, argv)
40 {
41     printf("# %s is called.\n", argv[0]);
42 
43     sal_Int32 nCount = rtl_getAppCommandArgCount();
44     if ( nCount != 4 )
45     {
46         printf(
47             "# not enough arguments found, need 4 found %ld.\n",
48             sal::static_int_cast< long >(nCount));
49         return 0;
50     }
51 
52     OUString suArg[4];
53     for( sal_Int32 i = 0 ; i < nCount ; i ++ )
54     {
55         rtl_getAppCommandArg( i , &(suArg[i].pData) );
56         rtl::OString aString;
57         aString = ::rtl::OUStringToOString( suArg[i], RTL_TEXTENCODING_ASCII_US );
58         printf(
59             "# Parameter[%ld] is %s\n", sal::static_int_cast< long >(i),
60             aString.getStr());
61     }
62 
63     if ( suArg[0].compareTo( suParam0) != 0 ||
64          suArg[1].compareTo( suParam1) != 0 ||
65          suArg[2].compareTo( suParam2) != 0 ||
66          suArg[3].compareTo( suParam3) != 0 )
67     {
68         return 0;
69     }
70     return 2;
71 }
72