XPCOM

"RL Clippard" <[email protected]>
Newsgroups gmane.comp.mozilla.devel.xpcom
Organization Another Netscape Collabra Server User
Message-ID <[email protected]>
Does anyone have a sample C++ program that uses XPCOM to access a Netscape
service (specifically "@mozilla.org/rdf/datasource;1?name=window-mediator").
I need access to the current window of the top-most (active) Netscape
browser so I can tell it to go to another URL. I had initially tried this
via the DDE interface but there seems to be some problems with the Netscape
6 DDE implementation.

I have a basic question - do I have to tell XPCOM where to go to get its
components? Does "NS_InitXPCOM2(nsnull, nsnull, nsnull)" 'know' where to go
or do I have to tell it?

//-nsLocalFile
 nsCOMPtr<nsILocalFile> componentPath=0;
 componentPath = do_CreateInstance(NS_LOCAL_FILE_CONTRACTID,&nsResult);

 const char *path = "C:\\Program Files\\Netscape\\Netscape 6";
 nsResult = componentPath->InitWithPath(path);

 PRBool isDirectory;
 nsResult = componentPath->IsDirectory(&isDirectory);
 printf("%s ---<%s>--- a directory\n",path,isDirectory?"IS":"IS NOT");

//-initXPCOM
// nsResult = NS_InitXPCOM2(nsnull, nsnull, nsnull);
// Fails (works if I comment out do_CreateInstance?)
 nsIServiceManager *serviceManager=0;
 nsResult = NS_InitXPCOM2(&serviceManager, componentPath, nsnull);
// Fails
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.