See https://bugs.eclipse.org/bugs/show_bug.cgi?id=178927 for an enhancement
request that is similar to what you require.

The Equinox Hook (AdaptorHook.startFramework method) will not be sufficient
for implementing this.  You can get the command line by using the
EnvironmentInfo service in you hook.  You are passed a BundleContext which
you could use to get the EnvironmentInfo service.  This service has the
methods you need to get the command line arguments.  But there is no way
from the startFramework method to tell the platform not to start the
application.  When Eclipse RCP is launched it is configured with an
application to launch.  You still want this application to be configured to
launch in case there is no running instance of your application yet.  So
even though you processed the command line in your adaptor hook and
communicated with another running instance the platform will continue to
boot and attempt to start your application.  At that point your application
could determine that a command line was used to communicate with another
instance and return immediately.  If you already have to enter your
application each time then you might as well just put all the TCP
client/server logic directly in your application and have it determine
whether it should pass the information off to another running instance of
your application and return immediately or process the request directly
because it is the first running instance of the application.

Tom




                                                                       
  From:       Jens Goldhammer <goldhammer...@googlemail.com>           
                                                                       
  To:         equinox-dev@eclipse.org                                  
                                                                       
  Date:       02/03/2009 05:46 AM                                      
                                                                       
  Subject:    [equinox-dev] Using Equinox Hooks for handling application 
starting?
                                                                       






Hello,

We implemented a rcp application which can be started either by clicking
the
application file (.exe) or by doubleclicking a file (with a certain
fileextension) on the filesystem. The problem is that we want to handle a
doubleclick on this file by extracting its information and show a dialog in
our application. There are two possibilites: There is already an running
instance or we have to start a new one.

It seems to me that the Equinox Hook can be a friend in this case. Read the
proposed solution under
http://www.ibm.com/developerworks/library/os-eclipse-rcpurl/index.html, I
have the idea to put the uri client into an Equinox hook. Either I can call
the other instance via TCP (and close the new one) or run the current
instance if there is no other instance open.

The problem is now that I have to parse the commandline to get out the
filepath of the file which was used to start our application. Is there a
way
to do that in the hook frameworkstart method? How can I close the osgi
platform if there is another instance which can handle the file?

Thanks,
Jens
--
View this message in context:
http://www.nabble.com/Using-Equinox-Hooks-for-handling-application-starting--tp21808278p21808278.html

Sent from the Equinox - Dev mailing list archive at Nabble.com.

_______________________________________________
equinox-dev mailing list
equinox-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev

<<inline: graycol.gif>>

<<inline: ecblank.gif>>

_______________________________________________
equinox-dev mailing list
equinox-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev

Reply via email to