Difference between revisions of "MainOOConnect"
From Apache OpenOffice Wiki
SergeMoutou (talk | contribs) m (New page: <source lang="cpp"> //Listing 1 Again our starting main Code int main( ) { //retrieve an instance of the remote service manager Reference< XMultiServiceFactory > rOfficeServiceManager;...) |
SergeMoutou (talk | contribs) m |
||
| Line 29: | Line 29: | ||
} | } | ||
</source> | </source> | ||
| − | This code is called a [[UNO_registery_and_Bootstrapping#The_Bootstrap|bootstrap]] and uses <idl>com.sun.star.lang.XMultiServiceFactory</idl>, <idl>com.sun.star.uno.XInterface</idl> and <idl>com.sun.star.frame.XComponentLoader</idl> interfaces | + | This code is called a [[UNO_registery_and_Bootstrapping#The_Bootstrap|bootstrap]] and uses : |
| + | * <idl>com.sun.star.lang.XMultiServiceFactory</idl>, <idl>com.sun.star.uno.XInterface</idl> and <idl>com.sun.star.frame.XComponentLoader</idl> interfaces | ||
| + | * <idl>com.sun.star.frame.Desktop</idl> service. | ||
Remember each time you query for an interface you have to add code lines (if they don't exist) in the source code and a line in the makefile. I will generally add comments to prevent omissions. You can find more explanations [[IDL_Files_and_Cpp#IDL__and_C.2B.2B|here]] (if you are not a beginner). | Remember each time you query for an interface you have to add code lines (if they don't exist) in the source code and a line in the makefile. I will generally add comments to prevent omissions. You can find more explanations [[IDL_Files_and_Cpp#IDL__and_C.2B.2B|here]] (if you are not a beginner). | ||
Revision as of 16:09, 13 April 2009
//Listing 1 Again our starting main Code
int main( ) {
//retrieve an instance of the remote service manager
Reference< XMultiServiceFactory > rOfficeServiceManager;
rOfficeServiceManager = ooConnect();
if( rOfficeServiceManager.is() ){
printf( "Connected sucessfully to the office\n" );
}
//get the desktop service using createInstance returns an XInterface type
Reference< XInterface > Desktop = rOfficeServiceManager->createInstance(
OUString::createFromAscii( "com.sun.star.frame.Desktop" ));
//query for the XComponentLoader interface
Reference< XComponentLoader > rComponentLoader (Desktop, UNO_QUERY);
if( rComponentLoader.is() ){
printf( "XComponentloader successfully instanciated\n" );
}
//get an instance of the spreadsheet
Reference< XComponent > xcomponent = rComponentLoader->loadComponentFromURL(
OUString::createFromAscii("private:factory/scalc"),
OUString::createFromAscii("_blank"),
0,
Sequence < ::com::sun::star::beans::PropertyValue >());
// add code here
return 0;
}
This code is called a bootstrap and uses :
- com.sun.star.lang.XMultiServiceFactory, com.sun.star.uno.XInterface and com.sun.star.frame.XComponentLoader interfaces
- com.sun.star.frame.Desktop service.
Remember each time you query for an interface you have to add code lines (if they don't exist) in the source code and a line in the makefile. I will generally add comments to prevent omissions. You can find more explanations here (if you are not a beginner).