summaryrefslogtreecommitdiff
path: root/odk/examples/DevelopersGuide/ProfUNO/CppBinding/office_connect.cxx
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2003-06-10 09:39:28 +0000
committerVladimir Glazounov <vg@openoffice.org>2003-06-10 09:39:28 +0000
commitb8106e1cf3763a41955522480d16e2bfc290a07b (patch)
tree835203791cf6076b182039b4e8eebbaed1771342 /odk/examples/DevelopersGuide/ProfUNO/CppBinding/office_connect.cxx
parent7afe466b7d40e1e7c96d7b6261620e7c841bded4 (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.cxx67
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;
+}