[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| 
[dsdp-tm-dev] TCF Subsystem development
 | 
I'm working on 
adding a new service using TCF to explore the windows on a target and run into 
an issue and have a couple of requests for cleanup.  I'm trying 
to figure out how to connect things up between TCF and the 
RSE.    I did find the example 
org.eclipse.tm.tcf.examples.daytime, and from it I see how to register a 
ChannelOpenListener and get notified when a channel opens.  But what I'm 
trying to do is create a new RSE Subsystem.  I see that 
TCFConnectorServiceManager.getConnectorService can be used to get a 
TCFConnectorService for a particular IHost.  I use getConnectorService in 
my implementation of ISubSystemConfiguration to get a connector 
service.  But what I don't see is how to get the IChannel for a particular 
IHost?  TCFConnectorService manages this but I don't see a way to get it 
out.  I've added a method "getChannel" in a local copy of 
TCFConnectorService, but am looking to see if there is an official way to do 
this (or if I should just file something into 
bugzilla)?
 
A cleanup issue is 
that both TCF and RSE have a different concept of Service, and in fact have 
different interfaces IService.  This isn't wrong, but it is confusing to 
have two different design elements with the same name.
 
Another cleanup 
issue is that it appears that the constructor for class Command (which issues an 
channel.send) has to be executed on the Protocol thread.  This forces some 
awkward code if you want to get the IToken for a command in any other 
thread--you're pretty much forced to do a Protocol.invokeAndWait all over and 
this seems like an opportunity for improvement.  I've implemented a 
WrapperChannel class which hides the invokeAndWait, but it would be great to get 
the IToken on any thread.
 
-Brian 
Nettleton
Wind River 
Systems