diff options
author | Chris Sherlock <chris.sherlock79@gmail.com> | 2014-05-18 18:13:18 +1000 |
---|---|---|
committer | Chris Sherlock <chris.sherlock79@gmail.com> | 2014-05-18 18:16:02 +1000 |
commit | 01c52c3f7115569798591320f094e2a3db23bdbf (patch) | |
tree | 53ca68885624c0aa65f2e9975f16e6f285627919 /vcl/workben | |
parent | c0d5da912302ed14469ba3ed0900d346122d34b0 (diff) |
vcl: fix svpclient
I have converted the UNO stuff to the more modern variety (i.e. the
stuff that actually works now...), use GraphicFilter to get the
bitmap and fixed the string copy typo.
Change-Id: I6a3c1af54d222ef70814d2bb581cc2f3c058bb2f
Diffstat (limited to 'vcl/workben')
-rw-r--r-- | vcl/workben/svpclient.cxx | 47 |
1 files changed, 22 insertions, 25 deletions
diff --git a/vcl/workben/svpclient.cxx b/vcl/workben/svpclient.cxx index 4537158734f6..60823d0e4601 100644 --- a/vcl/workben/svpclient.cxx +++ b/vcl/workben/svpclient.cxx @@ -18,7 +18,12 @@ */ #include <sal/main.h> + +#include <cppuhelper/bootstrap.hxx> +#include <comphelper/processfactory.hxx> + #include <com/sun/star/lang/XMultiServiceFactory.hpp> +#include <com/sun/star/uno/XComponentContext.hpp> #include <com/sun/star/awt/ImageScaleMode.hpp> #include <vcl/event.hxx> @@ -28,6 +33,8 @@ #include <vcl/lstbox.hxx> #include <vcl/imgctrl.hxx> #include <vcl/bitmapex.hxx> +#include <vcl/graphicfilter.hxx> +#include <vcl/graph.hxx> #include <tools/extendapplicationenvironment.hxx> #include <tools/stream.hxx> @@ -36,10 +43,6 @@ #include <math.h> -#include <comphelper/processfactory.hxx> -#include <cppuhelper/servicefactory.hxx> -#include <cppuhelper/bootstrap.hxx> - #include <errno.h> #include <unistd.h> #include <stdio.h> @@ -47,10 +50,9 @@ #include <sys/socket.h> #include <netinet/in.h> -using namespace cppu; -using namespace comphelper; using namespace ::com::sun::star::uno; using namespace ::com::sun::star::lang; +using namespace cppu; // Forward declaration void Main(); @@ -60,23 +62,13 @@ SAL_IMPLEMENT_MAIN() tools::extendApplicationEnvironment(); // create the global service-manager - Reference< XMultiServiceFactory > xFactory; - try - { - Reference< XComponentContext > xCtx = defaultBootstrap_InitialComponentContext(); - xFactory = Reference< XMultiServiceFactory >( xCtx->getServiceManager(), UNO_QUERY ); - if( xFactory.is() ) - setProcessServiceFactory( xFactory ); - } - catch(const com::sun::star::uno::Exception&) - { - } + Reference< XComponentContext > xContext = defaultBootstrap_InitialComponentContext(); + Reference< XMultiServiceFactory > xServiceManager( xContext->getServiceManager(), UNO_QUERY ); - if( ! xFactory.is() ) - { - fprintf( stderr, "Could not bootstrap UNO, installation must be in disorder. Exiting.\n" ); - exit( 1 ); - } + if( !xServiceManager.is() ) + Application::Abort( "Failed to bootstrap" ); + + comphelper::setProcessServiceFactory( xServiceManager ); InitVCL(); ::Main(); @@ -235,13 +227,18 @@ IMPL_LINK( MyWin, SelectHdl, ListBox*, ) { OStringBuffer aCommand( 64 ); aCommand.append( "get " ); - aCommand.append( OUStringToOString( aEntry.Copy( nPos+2 ), RTL_TEXTENCODING_ASCII_US ) ); + aCommand.append( OUStringToOString( aEntry.copy( nPos+2 ), RTL_TEXTENCODING_ASCII_US ) ); OString aAnswer( processCommand( aCommand.makeStringAndClear() ) ); SvMemoryStream aStream( aAnswer.getLength() ); aStream.Write( aAnswer.getStr(), aAnswer.getLength() ); aStream.Seek( STREAM_SEEK_TO_BEGIN ); - Bitmap aBitmap; - aStream >> aBitmap; + + Graphic aGraphicResult; + GraphicFilter &rFilter = GraphicFilter::GetGraphicFilter(); + rFilter.ImportGraphic( aGraphicResult, OUString("import"), aStream ); + + Bitmap aBitmap = aGraphicResult.GetBitmap(); + fprintf( stderr, "got bitmap of size %ldx%ld\n", sal::static_int_cast< long >(aBitmap.GetSizePixel().Width()), sal::static_int_cast< long >(aBitmap.GetSizePixel().Height())); |