Guest User

implementation code

a guest
May 10th, 2013
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.95 KB | None | 0 0
  1. //Listing 2
  2. // C++
  3. #include "SimpleOOConnection.hpp"
  4.  
  5. // int SimpleOOConnection::iNoOfConnection_=0;
  6. SimpleOOConnection::SimpleOOConnection()
  7. {
  8.     iNoOfConnection_++;
  9. }
  10.  
  11. Reference< XMultiServiceFactory > SimpleOOConnection::connect_ooffice(const char *url)
  12. {
  13. // create the initial component context
  14.     cout<<endl;
  15.     cout<<url<<"HI"<<endl;
  16.  
  17. //Initiating Local Component Context
  18.     Reference< XComponentContext > rComponentContext =
  19.                     defaultBootstrap_InitialComponentContext();
  20.  
  21.  
  22. /**
  23. * This local Context contents small Service Manager tha konws how to create services that are neccessary to talk to other
  24. * component context.One such service is com.sun.star.bridge.UnoUrlResolver So it ask local Service Manager to create this
  25. * service.
  26. */
  27. // retrieve the Local Service Manager from the Local context i.e We get Just servicemanager here
  28.     Reference< XMultiComponentFactory > rServiceManager =
  29.                     rComponentContext->getServiceManager();
  30.  
  31. // here we instantiate a sample service with the service com.sun.star.bridge.UnoUrlResolver . Created by local service manager.
  32.     Reference< XInterface > rInstance =
  33.         rServiceManager->createInstanceWithContext(
  34.         OUString::createFromAscii("com.sun.star.bridge.UnoUrlResolver" ),rComponentContext );
  35.  
  36. // Query for the XUnoUrlResolver interface fro sample service
  37.     Reference< XUnoUrlResolver > rResolver( rInstance, UNO_QUERY );
  38.  
  39.  //Now it uses UnoUrlResolver to get component context together with service manager from server side
  40.     try
  41.     {
  42. // resolve the uno-url
  43.         rInstance = rResolver->resolve( OUString::createFromAscii(url ) );
  44.  
  45. // query for the simpler XMultiServiceFactory interface, sufficient for scripting
  46.         Reference< XMultiServiceFactory > rOfficeServiceManager (rInstance, UNO_QUERY);
  47.  
  48.         return(rOfficeServiceManager);
  49.     }
  50. catch( Exception &e )
  51. {
  52.     OString o = OUStringToOString( e.Message, RTL_TEXTENCODING_ASCII_US );
  53.     printf( "Error: %s\n", o.pData->buffer );
  54.     return('\0');
  55. }
  56.  
  57. }
Advertisement
Add Comment
Please, Sign In to add comment