merge the formfield patch from ooo-build
[ooovba.git] / cppuhelper / test / testdefaultbootstrapping.cxx
blob21970e015401e180876649ab3ac05b886169b0df
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: testdefaultbootstrapping.cxx,v $
10 * $Revision: 1.6 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 // MARKER(update_precomp.py): autogen include statement, do not remove
32 #include "precompiled_cppuhelper.hxx"
34 #include <sal/main.h>
38 #include <cstdio>
40 #include <rtl/process.h>
41 #include <cppuhelper/bootstrap.hxx>
43 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
45 using namespace ::cppu;
46 using namespace ::com::sun::star::lang;
47 using namespace ::com::sun::star::uno;
48 using namespace ::rtl;
51 SAL_IMPLEMENT_MAIN()
53 sal_Bool result = sal_True;
55 try {
56 Reference<XComponentContext> xComponentContext = defaultBootstrap_InitialComponentContext();
58 Reference<XMultiServiceFactory> smgr(xComponentContext->getServiceManager(), UNO_QUERY);
60 for(sal_uInt32 i = 0; i < rtl_getAppCommandArgCount(); ++ i) {
61 OUString arg;
63 rtl_getAppCommandArg(i, &arg.pData);
64 if (arg.getLength())
66 Reference<XInterface> xInterface = smgr->createInstance(arg);
67 OString tmp = OUStringToOString(arg, RTL_TEXTENCODING_ASCII_US);
68 #if OSL_DEBUG_LEVEL > 1
69 fprintf(stderr, "got the %s service %p\n", tmp.getStr(), xInterface.get());
70 #endif
72 result = result && (xInterface.get() != 0);
76 catch(Exception & exception) {
77 OString message = OUStringToOString(exception.Message, RTL_TEXTENCODING_ASCII_US);
79 fprintf(stderr, "an exception occurred: %s\n", message.getStr());
82 #if OSL_DEBUG_LEVEL > 1
83 OSL_TRACE("---------------------------------- %i", result);
84 #endif
86 return result;