diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2003-06-10 09:39:28 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2003-06-10 09:39:28 +0000 |
commit | b8106e1cf3763a41955522480d16e2bfc290a07b (patch) | |
tree | 835203791cf6076b182039b4e8eebbaed1771342 /odk/examples/DevelopersGuide/ProfUNO/CppBinding/office_connect.cxx | |
parent | 7afe466b7d40e1e7c96d7b6261620e7c841bded4 (diff) |
INTEGRATION: CWS sdk02 (1.1.2); FILE ADDED
2003/05/09 11:41:06 jsc 1.1.2.1: #109045# insert new and remove example zip file
Diffstat (limited to 'odk/examples/DevelopersGuide/ProfUNO/CppBinding/office_connect.cxx')
-rw-r--r-- | odk/examples/DevelopersGuide/ProfUNO/CppBinding/office_connect.cxx | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/odk/examples/DevelopersGuide/ProfUNO/CppBinding/office_connect.cxx b/odk/examples/DevelopersGuide/ProfUNO/CppBinding/office_connect.cxx new file mode 100644 index 000000000000..02191f5e5150 --- /dev/null +++ b/odk/examples/DevelopersGuide/ProfUNO/CppBinding/office_connect.cxx @@ -0,0 +1,67 @@ +#include <stdio.h> + +#include <cppuhelper/bootstrap.hxx> +#include <com/sun/star/bridge/XUnoUrlResolver.hpp> +#include <com/sun/star/lang/XMultiServiceFactory.hpp> + +using namespace com::sun::star::uno; +using namespace com::sun::star::lang; +using namespace com::sun::star::bridge; +using namespace rtl; +using namespace cppu; + +int main( ) +{ + // create the initial component context + Reference< XComponentContext > rComponentContext = + defaultBootstrap_InitialComponentContext(); + + // retrieve the servicemanager from the context + Reference< XMultiComponentFactory > rServiceManager = + rComponentContext->getServiceManager(); + + // instantiate a sample service with the servicemanager. + Reference< XInterface > rInstance = + rServiceManager->createInstanceWithContext( + OUString::createFromAscii("com.sun.star.bridge.UnoUrlResolver" ), + rComponentContext ); + + // Query for the XUnoUrlResolver interface + Reference< XUnoUrlResolver > rResolver( rInstance, UNO_QUERY ); + + if( ! rResolver.is() ) + { + printf( "Error: Couldn't instantiate com.sun.star.bridge.UnoUrlResolver service\n" ); + return 1; + } + try + { + // resolve the uno-url + rInstance = rResolver->resolve( OUString::createFromAscii( + "uno:socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" ) ); + + if( ! rInstance.is() ) + { + printf( "StarOffice.ServiceManager is not exported from remote counterpart\n" ); + return 1; + } + + // query for the simpler XMultiServiceFactory interface, sufficient for scripting + Reference< XMultiServiceFactory > rOfficeServiceManager (rInstance, UNO_QUERY); + + if( ! rInstance.is() ) + { + printf( "XMultiServiceFactory interface is not exported for StarOffice.ServiceManager\n" ); + return 1; + } + + printf( "Connected sucessfully to the office\n" ); + } + catch( Exception &e ) + { + OString o = OUStringToOString( e.Message, RTL_TEXTENCODING_ASCII_US ); + printf( "Error: %s\n", o.pData->buffer ); + return 1; + } + return 0; +} |