update dev300-m58
[ooovba.git] / svtools / workben / cui / loadlib.cxx
blobbbe0e6808995f6234dc38cd65733d8781686a437
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: loadlib.cxx,v $
10 * $Revision: 1.5 $
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_svtools.hxx"
34 #include <stdio.h>
35 #include <string.h>
36 #include <stdlib.h>
38 #include <tools/string.hxx>
39 #include <osl/module.h>
40 #include <rtl/ustring.hxx>
42 using namespace rtl;
44 extern "C" {
45 struct VersionInfo
47 const char* pTime;
48 const char* pDate;
49 const char* pUpd;
50 const char* pMinor;
51 const char* pBuild;
52 const char* pInpath;
55 typedef VersionInfo*(__LOADONCALLAPI *GetVersionInfo)(void);
58 int __LOADONCALLAPI main( int argc, char **argv )
60 VersionInfo *pInfo = NULL;
62 if ( argc != 2 )
64 fprintf( stderr, "USAGE: %s DllName \n", argv[0] );
65 exit(0);
67 OUString aLib = OUString::createFromAscii(argv[1]);
68 oslModule aLibrary = osl_loadModule( aLib.pData, SAL_LOADMODULE_DEFAULT );
69 if ( aLibrary )
71 void* pFunc = osl_getSymbol( aLibrary, OUString::createFromAscii( "GetVersionInfo" ).pData );
72 if ( pFunc )
73 pInfo = (*(GetVersionInfo)pFunc)();
75 if ( pInfo )
77 fprintf( stdout, "Date : %s\n", pInfo->pDate );
78 fprintf( stdout, "Time : %s\n", pInfo->pTime );
79 fprintf( stdout, "UPD : %s\n", pInfo->pUpd );
80 fprintf( stdout, "Minor : %s\n", pInfo->pMinor );
81 fprintf( stdout, "Build : %s\n", pInfo->pBuild );
82 fprintf( stdout, "Inpath : %s\n", pInfo->pInpath );
84 else
85 fprintf( stderr, "VersionInfo not Found !\n" );
87 if ( aLibrary )
88 osl_unloadModule( aLibrary );
90 return 0;