2005-05-18 09:01:16 +00:00
/*************************************************************************
*
2008-04-10 23:41:57 +00:00
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER .
2005-05-18 09:01:16 +00:00
*
2008-04-10 23:41:57 +00:00
* Copyright 2008 by Sun Microsystems , Inc .
2005-05-18 09:01:16 +00:00
*
2008-04-10 23:41:57 +00:00
* OpenOffice . org - a multi - platform office productivity suite
2005-05-18 09:01:16 +00:00
*
2008-04-10 23:41:57 +00:00
* $ RCSfile : mozprofile . cxx , v $
* $ Revision : 1.5 $
2005-05-18 09:01:16 +00:00
*
2008-04-10 23:41:57 +00:00
* This file is part of OpenOffice . org .
2005-05-18 09:01:16 +00:00
*
2008-04-10 23:41:57 +00:00
* OpenOffice . org is free software : you can redistribute it and / or modify
* it under the terms of the GNU Lesser General Public License version 3
* only , as published by the Free Software Foundation .
2005-05-18 09:01:16 +00:00
*
2008-04-10 23:41:57 +00:00
* OpenOffice . org is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU Lesser General Public License version 3 for more details
* ( a copy is included in the LICENSE file that accompanied this code ) .
2005-05-18 09:01:16 +00:00
*
2008-04-10 23:41:57 +00:00
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice . org . If not , see
* < http : //www.openoffice.org/license.html>
* for a copy of the LGPLv3 License .
2005-05-18 09:01:16 +00:00
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2006-09-16 13:47:19 +00:00
// MARKER(update_precomp.py): autogen include statement, do not remove
# include "precompiled_xmlsecurity.hxx"
2005-05-18 09:01:16 +00:00
# include "util.hxx"
# include <stdio.h>
# include <tools/date.hxx>
# include <tools/time.hxx>
# include <cppuhelper/servicefactory.hxx>
# include <xmlsecurity/biginteger.hxx>
# include <xmlsecurity/xmlsignaturehelper.hxx>
# include <com/sun/star/mozilla/XMozillaBootstrap.hpp>
using namespace : : com : : sun : : star ;
int SAL_CALL main ( int argc , char * * argv )
{
fprintf ( stdout , " \n Testing Mozilla Profile Detection... \n \n OpenOffice.org will use the first detected profile. \n Results might be different when started in OOo program folder! \n " ) ;
uno : : Reference < lang : : XMultiServiceFactory > xMSF = CreateDemoServiceFactory ( ) ;
if ( ! xMSF . is ( ) )
{
fprintf ( stdout , " \n \n ERROR: Can't create Service Factory \n " ) ;
exit ( - 1 ) ;
}
uno : : Reference < mozilla : : XMozillaBootstrap > xMozillaBootstrap ( xMSF - > createInstance ( : : rtl : : OUString ( RTL_CONSTASCII_USTRINGPARAM ( " com.sun.star.mozilla.MozillaBootstrap " ) ) ) , uno : : UNO_QUERY ) ;
if ( ! xMozillaBootstrap . is ( ) )
{
fprintf ( stdout , " \n \n ERROR: Can't create Mozilla Bootstrap Service \n " ) ;
exit ( - 1 ) ;
}
int nProducts = 4 ;
mozilla : : MozillaProductType productTypes [ 4 ] = { mozilla : : MozillaProductType_Thunderbird , mozilla : : MozillaProductType_Mozilla , mozilla : : MozillaProductType_Firefox , mozilla : : MozillaProductType_Default } ;
for ( int i = 0 ; i < nProducts ; i + + )
{
if ( i = = 0 )
fprintf ( stdout , " \n Thunderbird: " ) ;
else if ( i = = 1 )
fprintf ( stdout , " \n Mozilla: " ) ;
else if ( i = = 2 )
fprintf ( stdout , " \n FireFox: " ) ;
else
fprintf ( stdout , " \n Default: " ) ;
: : rtl : : OUString profile = xMozillaBootstrap - > getDefaultProfile ( productTypes [ i ] ) ;
if ( profile . getLength ( ) )
{
: : rtl : : OUString profilepath = xMozillaBootstrap - > getProfilePath ( productTypes [ i ] , profile ) ;
fprintf ( stdout , " Name=%s, Path=%s " , rtl : : OUStringToOString ( profile , RTL_TEXTENCODING_ASCII_US ) . getStr ( ) , rtl : : OUStringToOString ( profilepath , RTL_TEXTENCODING_ASCII_US ) . getStr ( ) ) ;
}
else
{
fprintf ( stdout , " NOT FOUND " ) ;
}
}
/*
* creates a signature helper
*/
XMLSignatureHelper aSignatureHelper ( xMSF ) ;
/*
* creates a security context .
*/
rtl : : OUString aCryptoToken ;
bool bInit = aSignatureHelper . Init ( aCryptoToken ) ;
if ( ! bInit )
{
fprintf ( stdout , " \n \n ERROR: Unable to initialize security environment. \n \n " ) ;
}
else
{
fprintf ( stdout , " \n \n Security environment can be initialized successfully. \n \n " ) ;
}
return 0 ;
}