Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » DSDP - Target Management » How to add additional systemTypeIds to Telnet Shells
How to add additional systemTypeIds to Telnet Shells [message #30324] Thu, 11 December 2008 23:12 Go to next message
James Lockwood is currently offline James LockwoodFriend
Messages: 30
Registered: July 2009
Member
I want to make a new SystemType for uClinux development which only
incorporates FTP and Telnet. The
org.eclipse.rse.subsystems.shells.telnet/plugin.xml only defines
org.eclipse.rse.systemtype.telnet in its systemTypeIds field. To make
telnet shells show up as an option under a linux system type, I had to
edit the field to add ";org.eclipse.rse.systemtype.linux".

I, of course, want to set this programatically, without having to modify
the base RSE plug-ins, but haven't found a way to do it.

I have made my own customized debug launcher based upon the example that
now works the way I want it. The motivation for doing this was:

1) uClinux doesn't accept the "+x" parameter for the "chmod" command
after FTP uploading of file to remote system (I guess there is some sort
of bug in FTP or something that this patches, as it says in the code
documentation). I need to actually do "chmod 777".

2) I wanted to display the remote shell view and connect automatically
(if it wasn't there) and execute the gdbserver command in this view, so I
can see the output from printf statements in my userland application that
I am debugging. (This was a pain by the way, as I had to create a new
thread and synchronize it to the display to retrieve the active workbench
page/shell to use with showView and runUniversalCommand, otherwise I got
null pointers).

3) I wanted to download and debug the actual stripped executable on the
uClinux host, but the example downloads the .gdb file.

4) I want to kill a gdbserver process if it already exists before running
gdbserver on the remote system, since when you stop debugging before your
code exits normally (because you already found a bug to correct),
gdbserver is still running (haven't actually coded this step yet, but it
is trival).

So I want to make this plug-in and share it with the uClinux development
community, but my stumbling block is not knowing how to add an additional
system type to telnet shells programatically.

The only thing I can think of doing is adding a new subsystem that
subclasses the telnet implementation, and calling it a uClinux Telnet
subsystem, but that seems like a really bad idea.

Hope I am not too far from reality here. I think I finally have a grasp
of what is going on, but I am actually new to RSE, Eclipse Plug-in
development, and Java as of only two weeks ago. There's been a lot of
confusion and learning along the way!

James.
P.S. If there is already something that does exactly what I want to do (I
couldn't find one), please let me know! Thanks.
Re: How to add additional systemTypeIds to Telnet Shells [message #30502 is a reply to message #30324] Tue, 30 December 2008 01:46 Go to previous message
Martin Oberhuber is currently offline Martin OberhuberFriend
Messages: 985
Registered: July 2009
Senior Member
Hi James,

when you define your systemType, it can "pull in" the telnet
subsystem:

http://dsdp.eclipse.org/help/latest/topic/org.eclipse.rse.do c.isv/reference/extension-points/org_eclipse_rse_core_system Types.html

simply add the ID of the telnet subsystem in the
subsystemConfigurationIds
slot of your systemType definition in plugin.xml

Cheers,
--
Martin Oberhuber, Senior Member of Technical Staff, Wind River
Target Management Project Lead, DSDP PMC Member
http://www.eclipse.org/dsdp/tm




James Lockwood wrote:
> I want to make a new SystemType for uClinux development which only
> incorporates FTP and Telnet. The
> org.eclipse.rse.subsystems.shells.telnet/plugin.xml only defines
> org.eclipse.rse.systemtype.telnet in its systemTypeIds field. To make
> telnet shells show up as an option under a linux system type, I had to
> edit the field to add ";org.eclipse.rse.systemtype.linux".
>
> I, of course, want to set this programatically, without having to modify
> the base RSE plug-ins, but haven't found a way to do it.
>
> I have made my own customized debug launcher based upon the example that
> now works the way I want it. The motivation for doing this was:
>
> 1) uClinux doesn't accept the "+x" parameter for the "chmod" command
> after FTP uploading of file to remote system (I guess there is some sort
> of bug in FTP or something that this patches, as it says in the code
> documentation). I need to actually do "chmod 777".
>
> 2) I wanted to display the remote shell view and connect automatically
> (if it wasn't there) and execute the gdbserver command in this view, so
> I can see the output from printf statements in my userland application
> that I am debugging. (This was a pain by the way, as I had to create a
> new thread and synchronize it to the display to retrieve the active
> workbench page/shell to use with showView and runUniversalCommand,
> otherwise I got null pointers).
>
> 3) I wanted to download and debug the actual stripped executable on the
> uClinux host, but the example downloads the .gdb file.
>
> 4) I want to kill a gdbserver process if it already exists before
> running gdbserver on the remote system, since when you stop debugging
> before your code exits normally (because you already found a bug to
> correct), gdbserver is still running (haven't actually coded this step
> yet, but it is trival).
>
> So I want to make this plug-in and share it with the uClinux development
> community, but my stumbling block is not knowing how to add an
> additional system type to telnet shells programatically.
>
> The only thing I can think of doing is adding a new subsystem that
> subclasses the telnet implementation, and calling it a uClinux Telnet
> subsystem, but that seems like a really bad idea.
>
> Hope I am not too far from reality here. I think I finally have a grasp
> of what is going on, but I am actually new to RSE, Eclipse Plug-in
> development, and Java as of only two weeks ago. There's been a lot of
> confusion and learning along the way!
>
> James.
> P.S. If there is already something that does exactly what I want to do
> (I couldn't find one), please let me know! Thanks.
>
Re: How to add additional systemTypeIds to Telnet Shells [message #578231 is a reply to message #30324] Tue, 30 December 2008 01:46 Go to previous message
Martin Oberhuber is currently offline Martin OberhuberFriend
Messages: 985
Registered: July 2009
Senior Member
Hi James,

when you define your systemType, it can "pull in" the telnet
subsystem:

http://dsdp.eclipse.org/help/latest/topic/org.eclipse.rse.do c.isv/reference/extension-points/org_eclipse_rse_core_system Types.html

simply add the ID of the telnet subsystem in the
subsystemConfigurationIds
slot of your systemType definition in plugin.xml

Cheers,
--
Martin Oberhuber, Senior Member of Technical Staff, Wind River
Target Management Project Lead, DSDP PMC Member
http://www.eclipse.org/dsdp/tm




James Lockwood wrote:
> I want to make a new SystemType for uClinux development which only
> incorporates FTP and Telnet. The
> org.eclipse.rse.subsystems.shells.telnet/plugin.xml only defines
> org.eclipse.rse.systemtype.telnet in its systemTypeIds field. To make
> telnet shells show up as an option under a linux system type, I had to
> edit the field to add ";org.eclipse.rse.systemtype.linux".
>
> I, of course, want to set this programatically, without having to modify
> the base RSE plug-ins, but haven't found a way to do it.
>
> I have made my own customized debug launcher based upon the example that
> now works the way I want it. The motivation for doing this was:
>
> 1) uClinux doesn't accept the "+x" parameter for the "chmod" command
> after FTP uploading of file to remote system (I guess there is some sort
> of bug in FTP or something that this patches, as it says in the code
> documentation). I need to actually do "chmod 777".
>
> 2) I wanted to display the remote shell view and connect automatically
> (if it wasn't there) and execute the gdbserver command in this view, so
> I can see the output from printf statements in my userland application
> that I am debugging. (This was a pain by the way, as I had to create a
> new thread and synchronize it to the display to retrieve the active
> workbench page/shell to use with showView and runUniversalCommand,
> otherwise I got null pointers).
>
> 3) I wanted to download and debug the actual stripped executable on the
> uClinux host, but the example downloads the .gdb file.
>
> 4) I want to kill a gdbserver process if it already exists before
> running gdbserver on the remote system, since when you stop debugging
> before your code exits normally (because you already found a bug to
> correct), gdbserver is still running (haven't actually coded this step
> yet, but it is trival).
>
> So I want to make this plug-in and share it with the uClinux development
> community, but my stumbling block is not knowing how to add an
> additional system type to telnet shells programatically.
>
> The only thing I can think of doing is adding a new subsystem that
> subclasses the telnet implementation, and calling it a uClinux Telnet
> subsystem, but that seems like a really bad idea.
>
> Hope I am not too far from reality here. I think I finally have a grasp
> of what is going on, but I am actually new to RSE, Eclipse Plug-in
> development, and Java as of only two weeks ago. There's been a lot of
> confusion and learning along the way!
>
> James.
> P.S. If there is already something that does exactly what I want to do
> (I couldn't find one), please let me know! Thanks.
>
Previous Topic:How to use SDK to launch terminal window
Next Topic:TCF specification documents
Goto Forum:
  


Current Time: Sun Dec 21 00:28:45 GMT 2014

Powered by FUDForum. Page generated in 0.01754 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software