aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Drigo Pastore2010-01-15 12:01:40 (EST)
committerDaniel Drigo Pastore2010-01-15 12:01:40 (EST)
commit23389f35bded4da952d6f3e625561f4aaed4de6f (patch)
treecf3add465ec1bc42fb71537fe39b1fef5cc3e00a
parent2d82a866435c9726dfb705bb6471f759246b6924 (diff)
downloadorg.eclipse.linuxtools-23389f35bded4da952d6f3e625561f4aaed4de6f.zip
org.eclipse.linuxtools-23389f35bded4da952d6f3e625561f4aaed4de6f.tar.gz
org.eclipse.linuxtools-23389f35bded4da952d6f3e625561f4aaed4de6f.tar.bz2
Refactoring TmL to Sequoyah
-rw-r--r--proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/.project17
-rw-r--r--proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/build.properties5
-rw-r--r--proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/eclipse_update_120.jpgbin0 -> 21695 bytes
-rw-r--r--proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/epl-v10.html256
-rw-r--r--proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/feature.properties141
-rw-r--r--proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/feature.xml40
-rw-r--r--proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/license.html79
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/.classpath7
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/.cvsignore3
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/.project28
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/META-INF/MANIFEST.MF16
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConnectionProvider.classbin0 -> 867 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConstants$CommandCode.classbin0 -> 1317 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConstants$EventCode.classbin0 -> 2392 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConstants$OperationCode.classbin0 -> 1516 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConstants.classbin0 -> 462 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/tools/AbstractNotifier.classbin0 -> 2255 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/tools/IListener.classbin0 -> 489 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/tools/INotifier.classbin0 -> 726 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/tools/ITool.classbin0 -> 676 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/DialogConnect$1.classbin0 -> 956 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/DialogConnect.classbin0 -> 5881 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/DialogLogin.classbin0 -> 3443 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/IToolViewPart.classbin0 -> 256 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/Messages.classbin0 -> 1012 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionConnect.classbin0 -> 1716 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionDisconnect.classbin0 -> 1423 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionPause.classbin0 -> 1402 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionRefresh.classbin0 -> 1411 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionRun.classbin0 -> 1397 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/messages.properties31
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/utilities/Extensions.classbin0 -> 4086 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/utilities/ProtocolDescriptor.classbin0 -> 1473 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/build.properties8
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/plugin.properties27
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/plugin.xml36
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/schema/capabilities.exsd74
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/schema/protocols.exsd109
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/network/IConnectionProvider.java74
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/network/IConstants.java44
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/tools/AbstractNotifier.java66
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/tools/IListener.java31
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/tools/INotifier.java51
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/tools/ITool.java74
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/DialogConnect.java183
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/DialogLogin.java126
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/IToolViewPart.java25
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/Messages.java40
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionConnect.java51
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionDisconnect.java52
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionPause.java54
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionRefresh.java54
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionRun.java54
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/messages.properties31
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/utilities/Extensions.java82
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/utilities/ProtocolDescriptor.java48
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/.classpath7
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/.cvsignore3
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/.project40
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/META-INF/MANIFEST.MF21
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/about.ini27
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/LinuxToolsPlugin.classbin0 -> 2090 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/Messages.classbin0 -> 676 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/messages.properties21
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFProvider$1.classbin0 -> 1980 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFProvider$2.classbin0 -> 2428 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFProvider.classbin0 -> 4237 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFWrapper.classbin0 -> 4211 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider$1.classbin0 -> 2127 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider$2.classbin0 -> 2172 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider$3.classbin0 -> 2451 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider.classbin0 -> 4807 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetWrapper.classbin0 -> 6129 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadProcessor.classbin0 -> 8100 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadTool$ToolStateEnum.classbin0 -> 1485 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadTool.classbin0 -> 6891 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$1.classbin0 -> 1660 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$2.classbin0 -> 1181 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$3.classbin0 -> 1183 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$4.classbin0 -> 1088 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$5.classbin0 -> 1080 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$6.classbin0 -> 1077 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$7.classbin0 -> 5024 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$CpuSorter.classbin0 -> 1573 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView.classbin0 -> 9457 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadViewContentProvider.classbin0 -> 1150 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadViewLabelProvider.classbin0 -> 1496 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/DialogOptions.classbin0 -> 3064 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/Messages.classbin0 -> 1345 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/ViewActionOptions.classbin0 -> 1764 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/messages.properties38
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapProcessor.classbin0 -> 5258 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapTool.classbin0 -> 6308 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapVViewLabelProvider.classbin0 -> 1552 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$1.classbin0 -> 1682 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$2.classbin0 -> 1138 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$3.classbin0 -> 1102 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$4.classbin0 -> 1099 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$5.classbin0 -> 5036 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$AddressSorter.classbin0 -> 1619 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView.classbin0 -> 8269 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapViewContentProvider.classbin0 -> 1128 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/Messages.classbin0 -> 1007 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/messages.properties27
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/build.properties9
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/dsdp32.pngbin0 -> 2275 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/connect.gifbin0 -> 586 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/disconnect.gifbin0 -> 114 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/eclipse.gifbin0 -> 983 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/options.gifbin0 -> 369 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/pause.gifbin0 -> 230 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/refresh.gifbin0 -> 330 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/run.gifbin0 -> 319 bytes
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/plugin.properties27
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/plugin.xml50
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/LinuxToolsPlugin.java84
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/Messages.java33
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/messages.properties21
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFProvider.java139
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFWrapper.java98
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider.java193
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetWrapper.java235
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadProcessor.java279
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadTool.java208
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView.java332
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadViewContentProvider.java61
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadViewLabelProvider.java54
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/DialogOptions.java108
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/Messages.java49
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/ViewActionOptions.java59
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/messages.properties38
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapProcessor.java138
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapTool.java184
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapVViewLabelProvider.java59
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView.java290
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapViewContentProvider.java60
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/Messages.java40
-rw-r--r--proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/messages.properties27
140 files changed, 5082 insertions, 0 deletions
diff --git a/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/.project b/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/.project
new file mode 100644
index 0000000..5b1ccf5
--- /dev/null
+++ b/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.sequoyah.device.linuxtools.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/build.properties b/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/build.properties
new file mode 100644
index 0000000..ac61c92
--- /dev/null
+++ b/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/build.properties
@@ -0,0 +1,5 @@
+bin.includes = feature.xml,\
+ epl-v10.html,\
+ feature.properties,\
+ license.html,\
+ eclipse_update_120.jpg
diff --git a/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/eclipse_update_120.jpg b/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/eclipse_update_120.jpg
new file mode 100644
index 0000000..bfdf708
--- /dev/null
+++ b/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/eclipse_update_120.jpg
Binary files differ
diff --git a/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/epl-v10.html b/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/epl-v10.html
new file mode 100644
index 0000000..9321f40
--- /dev/null
+++ b/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/epl-v10.html
@@ -0,0 +1,256 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+
+
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Eclipse Public License - Version 1.0</title>
+
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style></head><body lang="EN-US">
+
+<p align="center"><b>Eclipse Public License - v 1.0</b></p>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+</body></html> \ No newline at end of file
diff --git a/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/feature.properties b/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/feature.properties
new file mode 100644
index 0000000..2f5d248
--- /dev/null
+++ b/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/feature.properties
@@ -0,0 +1,141 @@
+###############################################################################
+# Copyright (c)2009 Motorola Inc and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Fabio Fantato (Eldorado Research Institute) - initial API and implementation
+# Mauren Brenner (Eldorado) - [257585] Update provider name
+###############################################################################
+
+# NLS_MESSAGEFORMAT_NONE
+# NLS_ENCODING=UTF-8
+
+# "featureName" property - name of the feature
+featureName=TmL: /proc Tools (Incubation)
+
+# "description" property - description of the feature
+description=TmL /proc Tools
+
+# "providerName" property - name of the company that provides the feature
+providerName=Eclipse.org - DSDP
+
+# "tmUpdateSiteName" property - label for the update site
+tmlUpdateSiteName=Tool for mobile Linux Updates
+
+# "copyright" property - text of the "Feature Update Copyright"
+copyright=\
+Copyright (c) 2009 Motorola Inc and others.\n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License v1.0\n\
+which accompanies this distribution, and is available at\n\
+http://www.eclipse.org/legal/epl-v10.html\n\
+\n\
+################ end of copyright property ####################################
+
+# "licenseURL" property - URL of the "Feature License"
+# do not translate value - just change to point to a locale-specific HTML page
+licenseURL=license.html
+
+# "license" property - text of the "Feature Update License"
+# should be plain text version of license agreement pointed to be "licenseURL"
+license=\
+ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
+June 26, 2008\n\
+\n\
+Usage Of Content\n\
+\n\
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
+OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
+USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
+AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
+NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
+AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
+AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
+OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
+BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
+\n\
+Applicable Licenses\n\
+\n\
+Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
+is provided to you under the terms and conditions of the Eclipse Public\n\
+License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
+Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+For purposes of the EPL, "Program" will mean the Content.\n\
+\n\
+Content includes, but is not limited to, source code, object code,\n\
+documentation and other files maintained in the Eclipse.org CVS\n\
+repository ("Repository") in CVS modules ("Modules") and made available\n\
+as downloadable archives ("Downloads").\n\
+\n\
+ - Content may be structured and packaged into modules to facilitate delivering,\n\
+ extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+ plug-in fragments ("Fragments"), and features ("Features").\n\
+ - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
+ in a directory named "plugins".\n\
+ - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+ Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+ Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+ numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+ - Features may also include other Features ("Included Features"). Within a Feature, files\n\
+ named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
+\n\
+Features may also include other Features ("Included Features"). Files named\n\
+"feature.xml" may contain a list of the names and version numbers of\n\
+Included Features.\n\
+\n\
+The terms and conditions governing Plug-ins and Fragments should be\n\
+contained in files named "about.html" ("Abouts"). The terms and\n\
+conditions governing Features and Included Features should be contained\n\
+in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
+Licenses may be located in any directory of a Download or Module\n\
+including, but not limited to the following locations:\n\
+\n\
+ - The top-level (root) directory\n\
+ - Plug-in and Fragment directories\n\
+ - Inside Plug-ins and Fragments packaged as JARs\n\
+ - Sub-directories of the directory named "src" of certain Plug-ins\n\
+ - Feature directories\n\
+\n\
+Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
+Eclipse Update Manager, you must agree to a license ("Feature Update\n\
+License") during the installation process. If the Feature contains\n\
+Included Features, the Feature Update License should either provide you\n\
+with the terms and conditions governing the Included Features or inform\n\
+you where you can locate them. Feature Update Licenses may be found in\n\
+the "license" property of files named "feature.properties". Such Abouts,\n\
+Feature Licenses and Feature Update Licenses contain the terms and\n\
+conditions (or references to such terms and conditions) that govern your\n\
+use of the associated Content in that directory.\n\
+\n\
+THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
+SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
+\n\
+ - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+ - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+ - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+ - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
+ - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
+ - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+\n\
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
+TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
+is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
+govern that particular Content.\n\
+\n\
+Cryptography\n\
+\n\
+Content may contain encryption software. The country in which you are\n\
+currently may have restrictions on the import, possession, and use,\n\
+and/or re-export to another country, of encryption software. BEFORE\n\
+using any encryption software, please check the country's laws,\n\
+regulations and policies concerning the import, possession, or use,\n\
+and re-export of encryption software, to see if this is permitted.\n\
+\n\
+Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
+########### end of license property ##########################################
diff --git a/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/feature.xml b/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/feature.xml
new file mode 100644
index 0000000..2efc5b4
--- /dev/null
+++ b/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/feature.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.sequoyah.device.linuxtools.feature"
+ label="%featureName"
+ version="0.1.0.qualifier"
+ provider-name="%providerName"
+ plugin="org.eclipse.sequoyah.device.linuxtools">
+
+ <description>
+ %description
+ </description>
+
+ <copyright>
+ %copyright
+ </copyright>
+
+ <license url="%licenseURL">
+ %license
+ </license>
+
+ <url>
+ <update label="%tmlUpdateSiteName" url="http://download.eclipse.org/dsdp/tml/updates/0.3/"/>
+ <discovery label="%tmlUpdateSiteName" url="http://download.eclipse.org/dsdp/tml/updates/0.3/"/>
+ </url>
+
+ <plugin
+ id="org.eclipse.sequoyah.device.linuxtools"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.sequoyah.device.linuxtools.base"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/license.html b/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/license.html
new file mode 100644
index 0000000..c6af966
--- /dev/null
+++ b/proctools/features/org.eclipse.sequoyah.device.linuxtools.feature/license.html
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<title>Eclipse.org Software User Agreement</title>
+</head>
+
+<body lang="EN-US" link=blue vlink=purple>
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>March 17, 2005</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+ (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
+ modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;. Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>
+ <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+ another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+ possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>
+</body>
+</html>
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/.classpath b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/.classpath
new file mode 100644
index 0000000..64c5e31
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/.cvsignore b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/.cvsignore
new file mode 100644
index 0000000..e66f331
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/.cvsignore
@@ -0,0 +1,3 @@
+bin
+@dot
+plugin
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/.project b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/.project
new file mode 100644
index 0000000..1af3a79
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.sequoyah.device.linuxtools.base</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/.settings/org.eclipse.core.resources.prefs b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..fbb2195
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Thu Jan 29 17:09:13 ACT 2009
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/META-INF/MANIFEST.MF b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..f91aaf9
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.sequoyah.device.linuxtools.base;singleton:=true
+Bundle-Version: 0.1.0.qualifier
+Bundle-Vendor: %providerName
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
+Export-Package: org.eclipse.sequoyah.device.linuxtools.network,
+ org.eclipse.sequoyah.device.linuxtools.tools,
+ org.eclipse.sequoyah.device.linuxtools.ui,
+ org.eclipse.sequoyah.device.linuxtools.utilities
+Require-Bundle: org.eclipse.sequoyah.device.common.utilities,
+ org.eclipse.ui,
+ org.eclipse.core.runtime
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConnectionProvider.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConnectionProvider.class
new file mode 100644
index 0000000..3945faa
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConnectionProvider.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConstants$CommandCode.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConstants$CommandCode.class
new file mode 100644
index 0000000..15fadae
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConstants$CommandCode.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConstants$EventCode.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConstants$EventCode.class
new file mode 100644
index 0000000..e021666
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConstants$EventCode.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConstants$OperationCode.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConstants$OperationCode.class
new file mode 100644
index 0000000..9d7b645
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConstants$OperationCode.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConstants.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConstants.class
new file mode 100644
index 0000000..a4b449d
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/network/IConstants.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/tools/AbstractNotifier.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/tools/AbstractNotifier.class
new file mode 100644
index 0000000..21af4fa
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/tools/AbstractNotifier.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/tools/IListener.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/tools/IListener.class
new file mode 100644
index 0000000..3d73a89
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/tools/IListener.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/tools/INotifier.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/tools/INotifier.class
new file mode 100644
index 0000000..1be5ba3
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/tools/INotifier.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/tools/ITool.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/tools/ITool.class
new file mode 100644
index 0000000..a4275df
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/tools/ITool.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/DialogConnect$1.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/DialogConnect$1.class
new file mode 100644
index 0000000..a57cbd2
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/DialogConnect$1.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/DialogConnect.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/DialogConnect.class
new file mode 100644
index 0000000..069e479
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/DialogConnect.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/DialogLogin.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/DialogLogin.class
new file mode 100644
index 0000000..85f3dcd
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/DialogLogin.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/IToolViewPart.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/IToolViewPart.class
new file mode 100644
index 0000000..e20eb2a
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/IToolViewPart.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/Messages.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/Messages.class
new file mode 100644
index 0000000..b5261a4
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/Messages.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionConnect.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionConnect.class
new file mode 100644
index 0000000..8589d0f
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionConnect.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionDisconnect.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionDisconnect.class
new file mode 100644
index 0000000..a06dd27
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionDisconnect.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionPause.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionPause.class
new file mode 100644
index 0000000..eff919f
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionPause.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionRefresh.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionRefresh.class
new file mode 100644
index 0000000..1ed754d
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionRefresh.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionRun.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionRun.class
new file mode 100644
index 0000000..4e5a5ba
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionRun.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/messages.properties b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/messages.properties
new file mode 100644
index 0000000..494d38a
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/ui/messages.properties
@@ -0,0 +1,31 @@
+################################################################################
+# Copyright (c) 2008 Motorola Inc.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Initial Contributors:
+# Otávio Ferranti (Motorola)
+#
+# Contributors:
+# {Name} (company) - description of contribution.
+################################################################################
+
+# NLS_MESSAGEFORMAT_VAR
+# NLS_ENCODING=UTF-8
+
+OpenConnectionDialog_Window_Title=New connection
+OpenConnectionDialog_Window_Message=Enter values for the connection parameters
+
+OpenConnectionDialog_Label_Host=Host:
+OpenConnectionDialog_Label_Port=Port:
+OpenConnectionDialog_Label_Protocol=Protocol:
+
+LoginDialog_Window_Title=Login
+LoginDialog_Window_Message=Please, enter a valid user and password
+
+LoginDialog_Msg_Login_Invalid=Login failed. Please, enter a valid user and password
+
+LoginDialog_Label_User=User:
+LoginDialog_Label_Password=Password:
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/utilities/Extensions.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/utilities/Extensions.class
new file mode 100644
index 0000000..3d40d4a
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/utilities/Extensions.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/utilities/ProtocolDescriptor.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/utilities/ProtocolDescriptor.class
new file mode 100644
index 0000000..bf94c30
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/bin/org/eclipse/sequoyah/device/linuxtools/utilities/ProtocolDescriptor.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/build.properties b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/build.properties
new file mode 100644
index 0000000..a092d25
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = plugin.xml,\
+ META-INF/,\
+ .,\
+ plugin.properties,\
+ schema/
+
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/plugin.properties b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/plugin.properties
new file mode 100644
index 0000000..0db3ea4
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/plugin.properties
@@ -0,0 +1,27 @@
+################################################################################
+# Copyright (c) 2008, 2009 Motorola Inc.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Initial Contributor:
+# Otávio Ferranti (Motorola)
+#
+# Contributors:
+# Mauren Brenner (Eldorado) - [257585] Update provider name
+################################################################################
+
+# NLS_MESSAGEFORMAT_NONE
+# NLS_ENCODING=UTF-8
+
+pluginName=Linux Tools Base Plugin (Incubation)
+providerName=Eclipse.org - DSDP
+
+category.name=Linux Tools
+
+view.memorymap.name=Memory Map
+view.cpuload.name=CPU Load
+
+
+
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/plugin.xml b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/plugin.xml
new file mode 100644
index 0000000..0874964
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/plugin.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+<extension-point id="org.eclipse.sequoyah.device.linuxtools.base.protocols" name="Linux Tools protocols" schema="schema/protocols.exsd" />
+<extension-point id="org.eclipse.sequoyah.device.linuxtools.base.capabilities" name="Linux Tools capabilities" schema="schema/capabilities.exsd"/>
+<extension
+ point="org.eclipse.sequoyah.device.linuxtools.base.capabilities">
+ <capability
+ id="GET_FILE"
+ name="Get file"/>
+ <capability
+ id="PUT_FILE"
+ name="Create/store file"/>
+ <capability
+ id="REMOVE_FILE"
+ name="Remove file"/>
+ <capability
+ id="LIST_DIR"
+ name="List directories"/>
+ <capability
+ id="PUT_DIR"
+ name="Create directories"/>
+ <capability
+ id="REMOVE_DIR"
+ name="Remove directories"/>
+ <capability
+ id="START_PROCESS"
+ name="Start process"/>
+ <capability
+ id="KILL_PROCESS"
+ name="Kill process"/>
+ <capability
+ id="LIST_PROCESS"
+ name="List process"/>
+</extension>
+</plugin>
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/schema/capabilities.exsd b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/schema/capabilities.exsd
new file mode 100644
index 0000000..7a5e14c
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/schema/capabilities.exsd
@@ -0,0 +1,74 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.sequoyah.device.linuxtools.base" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.sequoyah.device.linuxtools.base" id="org.eclipse.sequoyah.device.linuxtools.base.capabilities" name="Linux tools capabilities"/>
+ </appInfo>
+ <documentation>
+
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appInfo>
+ <meta.element />
+ </appInfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="capability" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute translatable="true"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="capability">
+ <complexType>
+ <attribute name="name" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+
+
+
+
+
+</schema>
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/schema/protocols.exsd b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/schema/protocols.exsd
new file mode 100644
index 0000000..369d980
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/schema/protocols.exsd
@@ -0,0 +1,109 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.sequoyah.device.linuxtools.base" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.sequoyah.device.linuxtools.base" id="org.eclipse.sequoyah.device.linuxtools.base.protocols" name="Linux Tools protocols"/>
+ </appInfo>
+ <documentation>
+
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appInfo>
+ <meta.element />
+ </appInfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="protocol" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute translatable="true"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="protocol">
+ <complexType>
+ <sequence>
+ <element ref="capability" minOccurs="1" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="name" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.sequoyah.device.linuxtools.network.IConnectionProvider"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="default_port" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="capability">
+ <complexType>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="identifier" basedOn="org.eclipse.tml.linuxtools.base.capabilities/capability/@id"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+
+
+
+
+
+</schema>
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/network/IConnectionProvider.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/network/IConnectionProvider.java
new file mode 100644
index 0000000..e65bd6a
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/network/IConnectionProvider.java
@@ -0,0 +1,74 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.network;
+
+import java.io.IOException;
+
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.CommandCode;
+import org.eclipse.sequoyah.device.linuxtools.tools.INotifier;
+
+/**
+ * @author Otavio Ferranti
+ */
+public interface IConnectionProvider extends INotifier{
+
+ /**
+ * This method will be executed in a separated thread and will produce
+ * an event to be sent to the registered listeners.
+ * @param host
+ * @param port
+ * @throws IOException
+ */
+ public void connect(String host, int port) throws IOException ;
+
+ /**
+ * @throws IOException
+ */
+ public void disconnect() throws IOException ;
+
+ /**
+ * This method will be executed in a separated thread and will produce
+ * an event to be sent to the registered listeners.
+ * @param user
+ * @param password
+ * @throws IOException
+ */
+ public void login(String user, String password) throws IOException ;
+
+ /**
+ * Retrieves the last response.
+ * @return
+ */
+ public StringBuffer getLastResponde() ;
+
+ /**
+ * Sends a command to be executed and waits for the results.
+ * @param command
+ * @throws IOException
+ */
+ public void sendCommand(CommandCode cmd, String cmdStr) throws IOException ;
+
+ /**
+ * Sends some command or data without waiting any response or result.
+ * @param out
+ */
+ public void sendData(String out) ;
+
+ /**
+ * Sets the maximum response length.
+ * @param maxLength
+ */
+ public void setResponseLength(int maxLength) ;
+
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/network/IConstants.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/network/IConstants.java
new file mode 100644
index 0000000..5493c6f
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/network/IConstants.java
@@ -0,0 +1,44 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.network;
+
+/**
+ * @author Otavio Ferranti
+ */
+public interface IConstants {
+
+ public enum EventCode { EVT_PROVIDER_CONNECT_FINISHED,
+ EVT_PROVIDER_CONNECT_ERROR,
+ EVT_PROVIDER_LOGIN_FINISHED,
+ EVT_PROVIDER_LOGIN_ERROR,
+ EVT_PROVIDER_SENDCOMMAND_FINISHED,
+ EVT_PROVIDER_SENDCOMMAND_ERROR,
+ EVT_PROVIDER_SENDDATA_FINISHED,
+ EVT_PROVIDER_SENDDATA_ERROR,
+ EVT_PROVIDER_DISCONNECT_FINISHED,
+ EVT_PROCESSOR_GATHERDATA_FINISHED,
+ EVT_PROCESSOR_GATHERDATA_ERROR,
+ EVT_TOOL_REFRESH_VIEW,
+ EVT_TOOL_CONNECT_FINISHED,
+ EVT_TOOL_LOGIN_FINISHED,
+ EVT_TOOL_DISCONNECT_FINISHED };
+
+ public enum OperationCode { SUCCESS,
+ LOGIN_REQUIRED,
+ LOGIN_FAILED,
+ UNEXPECTED_RESULT };
+
+ public enum CommandCode { FETCH_FILE };
+
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/tools/AbstractNotifier.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/tools/AbstractNotifier.java
new file mode 100644
index 0000000..2c2b326
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/tools/AbstractNotifier.java
@@ -0,0 +1,66 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.tools;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.EventCode;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class AbstractNotifier implements INotifier{
+
+ private ArrayList<IListener> listeners = new ArrayList<IListener>();
+
+ /* (non-Javadoc)
+ * @see org.eclipse.tml.linuxmemorymapviewer.network.IConnectionProvider#addListener(org.eclipse.tml.linuxmemorymapviewer.network.IListener)
+ */
+ public void addListener(IListener listener) {
+ if (null != listener) {
+ listeners.add(listener);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.tools.INotifier#listeners()
+ */
+ public List<IListener> listeners() {
+ return listeners;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.tml.linuxmemorymapviewer.network.IConnectionProvider#notifyListeners(org.eclipse.tml.linuxmemorymapviewer.network.IConnectionConstants.EventCode, java.lang.Object)
+ */
+ public void notifyListeners(EventCode event, Object result) {
+ for (IListener listener:listeners){
+ listener.notify(this, event, result);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.tools.INotifier#removeAllListeners()
+ */
+ public void removeAllListeners() {
+ listeners.clear();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.tools.INotifier#removeListener(org.eclipse.sequoyah.device.linuxtools.tools.IListener)
+ */
+ public void removeListener(IListener listener) {
+ listeners.remove(listener);
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/tools/IListener.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/tools/IListener.java
new file mode 100644
index 0000000..513c1dc
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/tools/IListener.java
@@ -0,0 +1,31 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.tools;
+
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.EventCode;
+
+/**
+ * @author Otavio Ferranti
+ */
+public interface IListener {
+
+ /**
+ * @param notifier
+ * @param event
+ * @param result
+ */
+ public void notify (INotifier notifier,
+ EventCode event,
+ Object result);
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/tools/INotifier.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/tools/INotifier.java
new file mode 100644
index 0000000..edeb228
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/tools/INotifier.java
@@ -0,0 +1,51 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.tools;
+
+import java.util.List;
+
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.EventCode;
+
+/**
+ * @author Otavio Ferranti
+ */
+public interface INotifier {
+
+ /**
+ * @param listener
+ */
+ public void addListener(IListener listener);
+
+ /**
+ * @return
+ */
+ public List<IListener> listeners();
+
+ /**
+ * @param event
+ * @param result
+ */
+ public void notifyListeners (EventCode event, Object result);
+
+ /**
+ *
+ */
+ public void removeAllListeners ();
+
+ /**
+ * @param listener
+ */
+ public void removeListener (IListener listener);
+
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/tools/ITool.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/tools/ITool.java
new file mode 100644
index 0000000..245233f
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/tools/ITool.java
@@ -0,0 +1,74 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * Otavio Ferranti - Eldorado Research Institute - Bug 255255 [tml][proctools] Add extension points
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.tools;
+
+import java.util.List;
+
+import org.eclipse.sequoyah.device.linuxtools.utilities.ProtocolDescriptor;
+
+/**
+ * @author Otavio Ferranti
+ */
+public interface ITool extends INotifier {
+
+ /**
+ *
+ */
+ public void disconnect();
+
+ /**
+ * @param host
+ * @param port
+ * @param protocol
+ * @param viewer
+ */
+ public void connect(String host, int port, ProtocolDescriptor protocol);
+
+ /**
+ * @param user
+ * @param password
+ */
+ public void login(String user, String password);
+
+ /**
+ *
+ */
+ public List<ProtocolDescriptor> getProtocolsDescriptors();
+
+ /**
+ * @param delay
+ */
+ public int getRefreshDelay();
+
+ /**
+ *
+ */
+ public void refresh();
+
+ /**
+ * @param delay
+ */
+ public void setRefreshDelay(int delay);
+
+ /**
+ *
+ */
+ public void start();
+
+ /**
+ *
+ */
+ public void stop ();
+
+} \ No newline at end of file
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/DialogConnect.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/DialogConnect.java
new file mode 100644
index 0000000..30879c8
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/DialogConnect.java
@@ -0,0 +1,183 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * Otavio Ferranti - Eldorado Research Institute - Bug 255255 [tml][proctools] Add extension points
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.ui;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.jface.dialogs.TitleAreaDialog;
+import org.eclipse.sequoyah.device.linuxtools.tools.ITool;
+import org.eclipse.sequoyah.device.linuxtools.utilities.ProtocolDescriptor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+
+/**
+ * @author Otavio Ferranti
+ */
+public class DialogConnect extends TitleAreaDialog {
+
+ final private String WINDOW_TITLE = Messages.OpenConnectionDialog_Window_Title;
+ final private String WINDOW_MESSAGE = Messages.OpenConnectionDialog_Window_Message;
+ final private String LABEL_HOST = Messages.OpenConnectionDialog_Label_Host;
+ final private String LABEL_PORT = Messages.OpenConnectionDialog_Label_Port;
+ final private String LABEL_PROTOCOL = Messages.OpenConnectionDialog_Label_Protocol;
+
+ private Text hostText;
+ private Text portText;
+ private Combo protocolCombo;
+
+ private ITool tool = null;
+
+ private List <ProtocolDescriptor> pdList = null;
+
+ /**
+ * The constructor.
+ * @param parent
+ */
+ public DialogConnect(Shell parent, ITool tool) {
+ super(parent);
+ this.tool = tool;
+ this.pdList = tool.getProtocolsDescriptors();
+ }
+
+ /**
+ *
+ */
+ private int getProtocolDefaultPort(String name) {
+ int retVal = -1;
+ for (ProtocolDescriptor pd : this.pdList) {
+ if(pd.getName().equalsIgnoreCase(name)) {
+ retVal = pd.getDefaultPort();;
+ break;
+ };
+ }
+ return retVal;
+ }
+
+ /**
+ *
+ */
+ private ProtocolDescriptor getProcotolDescriptor(String name) {
+ ProtocolDescriptor retVal = null;
+ for (ProtocolDescriptor pd : this.pdList) {
+ if(pd.getName().equalsIgnoreCase(name)) {
+ retVal = pd;
+ break;
+ };
+ }
+ return retVal;
+ }
+
+ /**
+ *
+ */
+ private String[] getProcotolsNames() {
+ List<String> aux = new LinkedList<String>();
+ for (ProtocolDescriptor pd : this.pdList) {
+ aux.add(pd.getName());
+ }
+ String[] retVal = new String[1];
+ retVal = aux.toArray(retVal);
+ return retVal;
+ }
+
+ /**
+ *
+ */
+ private void updatePortToDefault() {
+ String selection = protocolCombo.getText();
+ int port = this.getProtocolDefaultPort(selection);
+ portText.setText(new Integer(port).toString());
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.TitleAreaDialog#getInitialSize()
+ */
+ protected Point getInitialSize() {
+ return super.getInitialSize();
+ }
+
+ protected Control createDialogArea(Composite parent) {
+
+ setTitle(WINDOW_TITLE);
+ setMessage(WINDOW_MESSAGE);
+
+ Composite dialogArea = new Composite(parent, SWT.NONE);
+ GridLayout gridLayout = new GridLayout(2, false);
+
+ gridLayout.marginLeft = 7;
+ gridLayout.marginRight = 7;
+
+ dialogArea.setLayout(gridLayout);
+ dialogArea.setLayoutData(new GridData(GridData.FILL_BOTH));
+ dialogArea.setFont(parent.getFont());
+
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+
+ Label hostLabel = new Label(dialogArea, SWT.NULL);
+ hostLabel.setText(LABEL_HOST);
+ hostText = new Text(dialogArea, SWT.BORDER);
+ hostText.setLayoutData(gridData);
+
+ Label portLabel = new Label(dialogArea, SWT.NULL);
+ portLabel.setText(LABEL_PORT);
+ portText = new Text(dialogArea, SWT.BORDER);
+ portText.setLayoutData(gridData);
+
+ Label protocolLabel = new Label(dialogArea, SWT.NULL);
+ protocolLabel.setText(LABEL_PROTOCOL);
+
+ protocolCombo = new Combo(dialogArea, SWT.READ_ONLY);
+ protocolCombo.setItems(this.getProcotolsNames());
+ protocolCombo.select(0);
+ updatePortToDefault();
+
+ protocolCombo.addListener(SWT.Selection, new Listener () {
+ public void handleEvent(Event e) {
+ updatePortToDefault();
+ }
+ });
+
+ return dialogArea;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.Dialog#okPressed()
+ */
+ protected void okPressed() {
+ tool.disconnect();
+ tool.connect(hostText.getText(),
+ new Integer(portText.getText()),
+ this.getProcotolDescriptor(protocolCombo.getText()));
+ super.okPressed();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.Dialog#cancelPressed()
+ */
+ protected void cancelPressed() {
+ super.cancelPressed();
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/DialogLogin.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/DialogLogin.java
new file mode 100644
index 0000000..c91a4b5
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/DialogLogin.java
@@ -0,0 +1,126 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.ui;
+
+import org.eclipse.jface.dialogs.TitleAreaDialog;
+import org.eclipse.sequoyah.device.linuxtools.tools.ITool;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class DialogLogin extends TitleAreaDialog {
+
+ final private String WINDOW_TITLE = Messages.LoginDialog_Window_Title;
+ final private String WINDOW_MESSAGE = Messages.LoginDialog_Window_Message;
+ final private String WINDOW_MESSAGE_LOGIN_INVALID =
+ Messages.LoginDialog_Msg_Login_Invalid;
+ final private String LABEL_USER = Messages.LoginDialog_Label_User;
+ final private String LABEL_PASSWORD = Messages.LoginDialog_Label_Password;
+
+ private Text userText;
+ private Text passwordText;
+
+ private ITool tool;
+ private boolean login_retry = false;
+
+ /**
+ * The constructor.
+ * @param parentShell
+ * @param tool
+ */
+ public DialogLogin(Shell parentShell, ITool tool) {
+ this(parentShell, tool, false);
+ }
+
+ /**
+ * The other constructor.
+ * @param parentShell
+ * @param tool
+ * @param login_retry
+ */
+ public DialogLogin(Shell parentShell, ITool tool, boolean login_retry) {
+ super(parentShell);
+ this.login_retry = login_retry;
+ this.tool = tool;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.TitleAreaDialog#createDialogArea(org.eclipse.swt.widgets.Composite)
+ */
+ protected Control createDialogArea(Composite parent) {
+ setTitle(WINDOW_TITLE);
+
+ if (login_retry) {
+ setErrorMessage(WINDOW_MESSAGE_LOGIN_INVALID);
+ } else {
+ setMessage(WINDOW_MESSAGE);
+ }
+
+ Composite dialogArea = new Composite(parent, SWT.NONE);
+ GridLayout gridLayout = new GridLayout(2, false);
+
+ gridLayout.marginLeft = 7;
+ gridLayout.marginRight = 7;
+
+ dialogArea.setLayout(gridLayout);
+ dialogArea.setLayoutData(new GridData(GridData.FILL_BOTH));
+ dialogArea.setFont(parent.getFont());
+
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+
+ Label hostLabel = new Label(dialogArea, SWT.NULL);
+ hostLabel.setText(LABEL_USER);
+ userText = new Text(dialogArea, SWT.BORDER);
+ userText.setLayoutData(gridData);
+
+ Label portLabel = new Label(dialogArea, SWT.NULL);
+ portLabel.setText(LABEL_PASSWORD);
+ passwordText = new Text(dialogArea, SWT.BORDER | SWT.PASSWORD);
+ passwordText.setLayoutData(gridData);
+
+ return dialogArea;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.TitleAreaDialog#getInitialSize()
+ */
+ protected Point getInitialSize() {
+ return super.getInitialSize();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.Dialog#okPressed()
+ */
+ protected void okPressed() {
+ tool.login(userText.getText(), passwordText.getText());
+ super.okPressed();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.Dialog#cancelPressed()
+ */
+ protected void cancelPressed() {
+ tool.disconnect();
+ super.cancelPressed();
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/IToolViewPart.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/IToolViewPart.java
new file mode 100644
index 0000000..bc1acb9
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/IToolViewPart.java
@@ -0,0 +1,25 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.ui;
+
+import org.eclipse.sequoyah.device.linuxtools.tools.ITool;
+import org.eclipse.ui.IViewPart;
+
+/**
+ * @author Otavio Ferranti
+ */
+public interface IToolViewPart extends IViewPart{
+
+ public ITool getTool();
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/Messages.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/Messages.java
new file mode 100644
index 0000000..725c668
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/Messages.java
@@ -0,0 +1,40 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.ui;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class Messages extends NLS {
+ private static final String BUNDLE_NAME = "org.eclipse.sequoyah.device.linuxtools.ui.messages"; //$NON-NLS-1$
+ public static String LoginDialog_Label_Password;
+ public static String LoginDialog_Label_User;
+ public static String LoginDialog_Msg_Login_Invalid;
+ public static String LoginDialog_Window_Message;
+ public static String LoginDialog_Window_Title;
+ public static String OpenConnectionDialog_Label_Host;
+ public static String OpenConnectionDialog_Label_Port;
+ public static String OpenConnectionDialog_Label_Protocol;
+ public static String OpenConnectionDialog_Window_Message;
+ public static String OpenConnectionDialog_Window_Title;
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionConnect.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionConnect.java
new file mode 100644
index 0000000..963cc74
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionConnect.java
@@ -0,0 +1,51 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.ui;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.ui.IViewActionDelegate;
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.PlatformUI;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class ViewActionConnect implements IViewActionDelegate {
+
+ private IViewPart targetPart;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
+ */
+ public void init(IViewPart view) {
+ this.targetPart = view;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+ */
+ public void run(IAction action) {
+ final DialogConnect dialog = new DialogConnect(
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
+ ((IToolViewPart) this.targetPart).getTool());
+ dialog.open();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
+ */
+ public void selectionChanged(IAction action, ISelection selection) {
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionDisconnect.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionDisconnect.java
new file mode 100644
index 0000000..308ff5d
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionDisconnect.java
@@ -0,0 +1,52 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.ui;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.sequoyah.device.linuxtools.tools.ITool;
+import org.eclipse.ui.IViewActionDelegate;
+import org.eclipse.ui.IViewPart;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class ViewActionDisconnect implements IViewActionDelegate {
+
+ private IViewPart targetPart;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
+ */
+ public void init(IViewPart view) {
+ this.targetPart = view;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+ */
+ public void run(IAction action) {
+ IToolViewPart toolView = ((IToolViewPart) this.targetPart);
+ ITool tool =((ITool) toolView.getTool());
+ if (null != tool) {
+ tool.disconnect();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
+ */
+ public void selectionChanged(IAction action, ISelection selection) {
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionPause.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionPause.java
new file mode 100644
index 0000000..3e2a031
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionPause.java
@@ -0,0 +1,54 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.ui;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.sequoyah.device.linuxtools.tools.ITool;
+import org.eclipse.ui.IViewActionDelegate;
+import org.eclipse.ui.IViewPart;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class ViewActionPause implements IViewActionDelegate {
+
+ private IViewPart targetPart;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
+ */
+ public void init(IViewPart view) {
+ this.targetPart = view;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+ */
+ public void run(IAction action) {
+ IToolViewPart toolView = ((IToolViewPart) this.targetPart);
+ ITool tool = toolView.getTool();
+
+ if (null != tool) {
+ tool.stop();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
+ */
+ public void selectionChanged(IAction action, ISelection selection) {
+ // TODO Auto-generated method stub
+ }
+} \ No newline at end of file
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionRefresh.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionRefresh.java
new file mode 100644
index 0000000..15d7822
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionRefresh.java
@@ -0,0 +1,54 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.ui;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.sequoyah.device.linuxtools.tools.ITool;
+import org.eclipse.ui.IViewActionDelegate;
+import org.eclipse.ui.IViewPart;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class ViewActionRefresh implements IViewActionDelegate {
+
+ private IViewPart targetPart;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
+ */
+ public void init(IViewPart view) {
+ this.targetPart = view;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+ */
+ public void run(IAction action) {
+ IToolViewPart toolView = ((IToolViewPart) this.targetPart);
+ ITool tool = toolView.getTool();
+
+ if (null != tool) {
+ tool.refresh();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
+ */
+ public void selectionChanged(IAction action, ISelection selection) {
+ // TODO Auto-generated method stub
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionRun.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionRun.java
new file mode 100644
index 0000000..28a3e60
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/ViewActionRun.java
@@ -0,0 +1,54 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.ui;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.sequoyah.device.linuxtools.tools.ITool;
+import org.eclipse.ui.IViewActionDelegate;
+import org.eclipse.ui.IViewPart;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class ViewActionRun implements IViewActionDelegate {
+
+ private IViewPart targetPart;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
+ */
+ public void init(IViewPart view) {
+ this.targetPart = view;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+ */
+ public void run(IAction action) {
+ IToolViewPart toolView = ((IToolViewPart) this.targetPart);
+ ITool tool = toolView.getTool();
+
+ if (null != tool) {
+ tool.start();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
+ */
+ public void selectionChanged(IAction action, ISelection selection) {
+ // TODO Auto-generated method stub
+ }
+} \ No newline at end of file
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/messages.properties b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/messages.properties
new file mode 100644
index 0000000..494d38a
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/ui/messages.properties
@@ -0,0 +1,31 @@
+################################################################################
+# Copyright (c) 2008 Motorola Inc.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Initial Contributors:
+# Otávio Ferranti (Motorola)
+#
+# Contributors:
+# {Name} (company) - description of contribution.
+################################################################################
+
+# NLS_MESSAGEFORMAT_VAR
+# NLS_ENCODING=UTF-8
+
+OpenConnectionDialog_Window_Title=New connection
+OpenConnectionDialog_Window_Message=Enter values for the connection parameters
+
+OpenConnectionDialog_Label_Host=Host:
+OpenConnectionDialog_Label_Port=Port:
+OpenConnectionDialog_Label_Protocol=Protocol:
+
+LoginDialog_Window_Title=Login
+LoginDialog_Window_Message=Please, enter a valid user and password
+
+LoginDialog_Msg_Login_Invalid=Login failed. Please, enter a valid user and password
+
+LoginDialog_Label_User=User:
+LoginDialog_Label_Password=Password:
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/utilities/Extensions.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/utilities/Extensions.java
new file mode 100644
index 0000000..6910488
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/utilities/Extensions.java
@@ -0,0 +1,82 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * Otavio Ferranti - Eldorado Research Institute - Bug 255255 [tml][proctools] Add extension points
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.utilities;
+
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtension;
+import org.eclipse.sequoyah.device.common.utilities.PluginUtils;
+import org.eclipse.sequoyah.device.linuxtools.network.IConnectionProvider;
+
+public class Extensions {
+
+ static final private String PROTOCOLS_EXTENSION =
+ "org.eclipse.tml.linuxtools.base.protocols"; //$NON-NLS-1$
+
+ static final private String CLASS = "class"; //$NON-NLS-1$
+ static final private String DEFAULT_PORT = "default_port"; //$NON-NLS-1$
+ static final private String ID = "id"; //$NON-NLS-1$
+ static final private String NAME = "name"; //$NON-NLS-1$
+ static final private String CAPABILITY = "capability";
+
+ static public List <ProtocolDescriptor> findProcotols (String[] reqCapabilities) {
+ Collection<IExtension> extensions =
+ PluginUtils.getInstalledExtensions(PROTOCOLS_EXTENSION);
+
+ List <ProtocolDescriptor> pdList = new LinkedList<ProtocolDescriptor>();
+
+ for (IExtension extension:extensions){
+ IConfigurationElement[] protocolElements = extension.getConfigurationElements();
+ for (IConfigurationElement protocolElement:protocolElements) {
+ IConfigurationElement[] capabilityElements = protocolElement.getChildren(CAPABILITY);
+
+ boolean allCapabilitiesFound = true;
+ for (String reqCapability:reqCapabilities) {
+ boolean capabilityMissing = true;
+ for (IConfigurationElement capabilityElement:capabilityElements) {
+ String capabilityStr = capabilityElement.getAttribute(ID);
+ if(capabilityStr.equalsIgnoreCase(reqCapability)) {
+ capabilityMissing = false; //Capability found
+ break;
+ }
+ }
+ if (true == capabilityMissing) {
+ allCapabilitiesFound = false;
+ break; // Could not find one of the req'd capabilities
+ }
+ }
+
+ if(true == allCapabilitiesFound) {
+ String protDefaultPortStr = protocolElement.getAttribute(DEFAULT_PORT);
+ Integer protDefaultPort = new Integer(protDefaultPortStr);
+ String protIdStr = protocolElement.getAttribute(ID);
+ String protNameStr = protocolElement.getAttribute(NAME);
+ try {
+ IConnectionProvider protConnProv = (IConnectionProvider) protocolElement.createExecutableExtension(CLASS);
+ pdList.add(new ProtocolDescriptor((Class) protConnProv.getClass(), protNameStr,
+ protIdStr, protDefaultPort.intValue()));
+ } catch (CoreException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+ return pdList;
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/utilities/ProtocolDescriptor.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/utilities/ProtocolDescriptor.java
new file mode 100644
index 0000000..8476a75
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools.base/src/org/eclipse/sequoyah/device/linuxtools/utilities/ProtocolDescriptor.java
@@ -0,0 +1,48 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * Otavio Ferranti - Eldorado Research Institute - Bug 255255 [tml][proctools] Add extension points
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.utilities;
+
+import org.eclipse.sequoyah.device.linuxtools.network.IConnectionProvider;
+
+public class ProtocolDescriptor {
+
+ private Class<IConnectionProvider> connectionProviderClass = null;
+ private String name = null;
+ private String id = null;
+ private int defaultPort = -1;
+
+ ProtocolDescriptor(Class<IConnectionProvider> connectionProviderClass,
+ String name, String id, int defaultPort) {
+ this.connectionProviderClass = connectionProviderClass;
+ this.name = name;
+ this.id = id;
+ this.defaultPort = defaultPort;
+ }
+
+ public Class<IConnectionProvider> getConnectionProviderClass() {
+ return connectionProviderClass;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public int getDefaultPort() {
+ return defaultPort;
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/.classpath b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/.classpath
new file mode 100644
index 0000000..304e861
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/.cvsignore b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/.cvsignore
new file mode 100644
index 0000000..e66f331
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/.cvsignore
@@ -0,0 +1,3 @@
+bin
+@dot
+plugin
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/.project b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/.project
new file mode 100644
index 0000000..20cac40
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.sequoyah.device.linuxtools</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.gentleware.uml2.reveng.IncrementalReverseEngineeringBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.gentleware.uml2.resource.xmi.xmiIndexBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>com.gentleware.uml2.reveng.RoundtripProject</nature>
+ <nature>com.gentleware.uml2.resource.xmi.indexedXmiNature</nature>
+ </natures>
+</projectDescription>
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/.settings/org.eclipse.core.resources.prefs b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..a849766
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Thu Jan 29 16:08:20 CST 2009
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/META-INF/MANIFEST.MF b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..006ce30
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.sequoyah.device.linuxtools;singleton:=true
+Bundle-Version: 0.1.0.qualifier
+Bundle-Localization: plugin
+Bundle-Activator: org.eclipse.sequoyah.device.linuxtools.LinuxToolsPlugin
+Bundle-Vendor: %providerName
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.sequoyah.device.linuxtools.base,
+ org.eclipse.sequoyah.device.common.utilities,
+ org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.apache.commons.net,
+ org.eclipse.tm.tcf,
+ org.eclipse.rse.core,
+ org.eclipse.rse.subsystems.files.core,
+ org.eclipse.rse.services
+Export-Package: org.eclipse.sequoyah.device.linuxtools.network.tcf,
+ org.eclipse.sequoyah.device.linuxtools.network.telnet
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/about.ini b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/about.ini
new file mode 100644
index 0000000..fbbb9f8
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/about.ini
@@ -0,0 +1,27 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%blurb
+
+# Property "windowImage" contains path to window icon (16x16)
+# needed for primary features only
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=dsdp32.png
+
+# Property "aboutImage" contains path to product image (500x330 or 115x164)
+# needed for primary features only
+
+# Property "appName" contains name of the application (not translated)
+# needed for primary features only
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+# optional
+
+# Property "welcomePerspective" contains the id of the perspective in which the
+# welcome page is to be opened.
+# optional \ No newline at end of file
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/LinuxToolsPlugin.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/LinuxToolsPlugin.class
new file mode 100644
index 0000000..85cdacd
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/LinuxToolsPlugin.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/Messages.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/Messages.class
new file mode 100644
index 0000000..75c6950
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/Messages.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/messages.properties b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/messages.properties
new file mode 100644
index 0000000..a657aab
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/messages.properties
@@ -0,0 +1,21 @@
+################################################################################
+# Copyright (c) 2009 Motorola Inc.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Initial Contributors:
+# Otavio Ferranti (Motorola)
+#
+# Contributors:
+# {Name} (company) - description of contribution.
+################################################################################
+
+# NLS_MESSAGEFORMAT_VAR
+# NLS_ENCODING=UTF-8
+
+TML_Plugin_Name=Linux Tools Plugin (Incubation)
+TML_Error=A unexpected exception was found
+TML_Resource_Not_Available=Resource not available
+
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFProvider$1.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFProvider$1.class
new file mode 100644
index 0000000..2f5e1d4
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFProvider$1.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFProvider$2.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFProvider$2.class
new file mode 100644
index 0000000..cb2d061
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFProvider$2.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFProvider.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFProvider.class
new file mode 100644
index 0000000..691c42c
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFProvider.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFWrapper.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFWrapper.class
new file mode 100644
index 0000000..b95f96c
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFWrapper.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider$1.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider$1.class
new file mode 100644
index 0000000..b9bec82
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider$1.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider$2.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider$2.class
new file mode 100644
index 0000000..e25852c
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider$2.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider$3.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider$3.class
new file mode 100644
index 0000000..adc8708
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider$3.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider.class
new file mode 100644
index 0000000..6ead748
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetWrapper.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetWrapper.class
new file mode 100644
index 0000000..f15c7e9
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetWrapper.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadProcessor.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadProcessor.class
new file mode 100644
index 0000000..1c8d2b1
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadProcessor.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadTool$ToolStateEnum.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadTool$ToolStateEnum.class
new file mode 100644
index 0000000..d4c481a
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadTool$ToolStateEnum.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadTool.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadTool.class
new file mode 100644
index 0000000..f757662
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadTool.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$1.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$1.class
new file mode 100644
index 0000000..6ad161c
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$1.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$2.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$2.class
new file mode 100644
index 0000000..6c1000e
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$2.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$3.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$3.class
new file mode 100644
index 0000000..095e1a6
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$3.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$4.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$4.class
new file mode 100644
index 0000000..8c5b68a
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$4.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$5.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$5.class
new file mode 100644
index 0000000..1a57691
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$5.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$6.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$6.class
new file mode 100644
index 0000000..93e14a2
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$6.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$7.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$7.class
new file mode 100644
index 0000000..6eef903
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$7.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$CpuSorter.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$CpuSorter.class
new file mode 100644
index 0000000..320066e
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView$CpuSorter.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView.class
new file mode 100644
index 0000000..363d5d7
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadViewContentProvider.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadViewContentProvider.class
new file mode 100644
index 0000000..6afe734
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadViewContentProvider.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadViewLabelProvider.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadViewLabelProvider.class
new file mode 100644
index 0000000..ea07530
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadViewLabelProvider.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/DialogOptions.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/DialogOptions.class
new file mode 100644
index 0000000..89a4672
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/DialogOptions.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/Messages.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/Messages.class
new file mode 100644
index 0000000..ce8b8c4
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/Messages.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/ViewActionOptions.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/ViewActionOptions.class
new file mode 100644
index 0000000..e0b89d1
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/ViewActionOptions.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/messages.properties b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/messages.properties
new file mode 100644
index 0000000..da06c3d
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/messages.properties
@@ -0,0 +1,38 @@
+################################################################################
+# Copyright (c) 2009 Motorola Inc.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Initial Contributors:
+# Otavio Ferranti (Motorola)
+#
+# Contributors:
+# {Name} (company) - description of contribution.
+################################################################################
+
+# NLS_MESSAGEFORMAT_VAR
+# NLS_ENCODING=UTF-8
+
+CpuLoadView_Col_Label_Cpu=Cpu
+CpuLoadView_Col_Label_User_Mode=User
+CpuLoadView_Col_Label_Nice=Nice
+CpuLoadView_Col_Label_System=System
+CpuLoadView_Col_Label_Idle=Idle
+CpuLoadView_Col_Label_Wait=Wait
+CpuLoadView_Col_label_HIrq=HW Irq
+CpuLoadView_Col_Label_SIrq=SW Irq
+
+CpuLoadView_Action_Run=Run
+CpuLoadView_Action_Pause=Pause
+CpuLoadView_Action_Options=Options
+CpuLoadView_Action_Disconnect=Disconnect
+CpuLoadView_Action_Connect=Connect
+
+CpuLoadProcessor_Msg_Executing_the_command=Executing the command:
+CpuLoadProcessor_Msg_Got_The_Result=Got the result:
+
+OptionsDialog_Window_Title=Options
+OptionsDialog_Window_Message=Some options may take effect only after reconnection
+OptionsDialog_Label_Refresh_Rate=Refresh delay:
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapProcessor.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapProcessor.class
new file mode 100644
index 0000000..1f45307
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapProcessor.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapTool.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapTool.class
new file mode 100644
index 0000000..60f1ac8
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapTool.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapVViewLabelProvider.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapVViewLabelProvider.class
new file mode 100644
index 0000000..29cf583
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapVViewLabelProvider.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$1.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$1.class
new file mode 100644
index 0000000..c233466
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$1.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$2.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$2.class
new file mode 100644
index 0000000..b8baf3c
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$2.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$3.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$3.class
new file mode 100644
index 0000000..2d7745e
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$3.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$4.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$4.class
new file mode 100644
index 0000000..9c7c53a
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$4.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$5.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$5.class
new file mode 100644
index 0000000..c2f7689
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$5.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$AddressSorter.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$AddressSorter.class
new file mode 100644
index 0000000..a8cefef
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView$AddressSorter.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView.class
new file mode 100644
index 0000000..4ed2e5b
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapViewContentProvider.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapViewContentProvider.class
new file mode 100644
index 0000000..4bda9e6
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapViewContentProvider.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/Messages.class b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/Messages.class
new file mode 100644
index 0000000..474433f
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/Messages.class
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/messages.properties b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/messages.properties
new file mode 100644
index 0000000..b242a04
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/bin/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/messages.properties
@@ -0,0 +1,27 @@
+################################################################################
+# Copyright (c) 2009 Motorola Inc.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Initial Contributors:
+# Otavio Ferranti (Motorola)
+#
+# Contributors:
+# {Name} (company) - description of contribution.
+################################################################################
+
+# NLS_MESSAGEFORMAT_VAR
+# NLS_ENCODING=UTF-8
+
+MemoryMapView_Col_Label_Address_Start=Start
+MemoryMapView_Col_Label_Address_End=End
+MemoryMapView_Col_label_Region=Region name
+
+MemoryMapView_Action_Refresh=Refresh
+MemoryMapView_Action_Disconnect=Disconnect
+MemoryMapView_Action_Connect=Connect
+
+MemoryMapProcessor_Msg_Executing_The_Command=Executing the command:
+MemoryMapProcessor_Msg_Got_The_Result=Got the result:
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/build.properties b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/build.properties
new file mode 100644
index 0000000..de23fe3
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = bin/
+bin.includes = plugin.xml,\
+ META-INF/,\
+ .,\
+ icons/,\
+ plugin.properties,\
+ dsdp32.png
+src.includes = dsdp32.png
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/dsdp32.png b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/dsdp32.png
new file mode 100644
index 0000000..3077b12
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/dsdp32.png
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/connect.gif b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/connect.gif
new file mode 100644
index 0000000..8b4ae12
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/connect.gif
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/disconnect.gif b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/disconnect.gif
new file mode 100644
index 0000000..4e558ce
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/disconnect.gif
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/eclipse.gif b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/eclipse.gif
new file mode 100644
index 0000000..34fb3c9
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/eclipse.gif
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/options.gif b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/options.gif
new file mode 100644
index 0000000..906c0f5
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/options.gif
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/pause.gif b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/pause.gif
new file mode 100644
index 0000000..8f28562
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/pause.gif
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/refresh.gif b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/refresh.gif
new file mode 100644
index 0000000..e383147
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/refresh.gif
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/run.gif b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/run.gif
new file mode 100644
index 0000000..d3374b9
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/icons/run.gif
Binary files differ
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/plugin.properties b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/plugin.properties
new file mode 100644
index 0000000..d7a7e78
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/plugin.properties
@@ -0,0 +1,27 @@
+################################################################################
+# Copyright (c) 2008 Motorola Inc.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Initial Contributor:
+# Otávio Ferranti (Motorola)
+#
+# Contributors:
+# {Name} (company) - description of contribution.
+################################################################################
+
+# NLS_MESSAGEFORMAT_NONE
+# NLS_ENCODING=UTF-8
+
+pluginName=Linux Tools Plugin (Incubation)
+providerName=Eclipse.org
+
+category.name=Linux Tools
+
+view.memorymap.name=Memory Map
+view.cpuload.name=CPU Load
+
+
+
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/plugin.xml b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/plugin.xml
new file mode 100644
index 0000000..abb8f68
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/plugin.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+
+ <extension
+ point="org.eclipse.ui.views">
+ <category
+ name="%category.name"
+ id="org.eclipse.sequoyah.device.linuxtools.Category">
+ </category>
+ <view
+ name="%view.memorymap.name"
+ icon="icons/eclipse.gif"
+ category="org.eclipse.sequoyah.device.linuxtools.Category"
+ class="org.eclipse.sequoyah.device.linuxtools.tools.memorymap.MemoryMapView"
+ id="org.eclipse.sequoyah.device.linuxtools.tools.memorymap.View">
+ </view>
+ <view
+ category="org.eclipse.sequoyah.device.linuxtools.Category"
+ class="org.eclipse.sequoyah.device.linuxtools.tools.cpuload.CpuLoadView"
+ icon="icons/eclipse.gif"
+ id="org.eclipse.sequoyah.device.linuxtools.tools.cpuload.View"
+ name="%view.cpuload.name">
+ </view>
+ </extension>
+ <extension
+ point="org.eclipse.sequoyah.device.linuxtools.base.protocols">
+ <protocol
+ class="org.eclipse.sequoyah.device.linuxtools.network.telnet.TelnetProvider"
+ default_port="23"
+ id="TELNET"
+ name="Telnet">
+ <capability
+ id="GET_FILE">
+ </capability>
+ </protocol>
+ <protocol
+ class="org.eclipse.sequoyah.device.linuxtools.network.tcf.TCFProvider"
+ default_port="1534"
+ id="TM_TCF_AGENT"
+ name="TM TCF Agent">
+ <capability
+ id="GET_FILE">
+ </capability>
+ <capability
+ id="LIST_PROCESS">
+ </capability>
+ </protocol>
+ </extension>
+</plugin>
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/LinuxToolsPlugin.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/LinuxToolsPlugin.java
new file mode 100644
index 0000000..9e600c6
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/LinuxToolsPlugin.java
@@ -0,0 +1,84 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools;
+
+import org.eclipse.sequoyah.device.common.utilities.BasePlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class LinuxToolsPlugin extends BasePlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.sequoyah.device.linuxtools"; //$NON-NLS-1$
+
+ // Common icons
+ public static final String ICON_RUN = "run.gif"; //$NON-NLS-1$
+ public static final String ICON_PAUSE = "pause.gif"; //$NON-NLS-1$
+ public static final String ICON_OPTIONS = "options.gif"; //$NON-NLS-1$
+ public static final String ICON_REFRESH = "refresh.gif"; //$NON-NLS-1$
+ public static final String ICON_DISCONNECT = "disconnect.gif"; //$NON-NLS-1$
+ public static final String ICON_CONNECT = "connect.gif"; //$NON-NLS-1$
+
+ // The shared instance
+ private static LinuxToolsPlugin plugin;
+
+ private static final String[] allIcons = {ICON_RUN,
+ ICON_PAUSE,
+ ICON_OPTIONS,
+ ICON_REFRESH,
+ ICON_DISCONNECT,
+ ICON_CONNECT};
+
+ /**
+ * Returns the shared instance
+ * @return the shared instance
+ */
+ public static LinuxToolsPlugin getDefault() {
+ return plugin;
+ }
+
+ /**
+ * The constructor
+ */
+ public LinuxToolsPlugin() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ @Override
+ protected void initializeImageRegistry() {
+ String path = getIconPath();
+ for (String s: allIcons) {
+ putImageInRegistry(s, path + s);
+ }
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/Messages.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/Messages.java
new file mode 100644
index 0000000..1f7ab94
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/Messages.java
@@ -0,0 +1,33 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * @author Otavio Ferranti
+ *
+ */
+public class Messages extends NLS {
+
+ private static String BUNDLE_NAME = "org.eclipse.sequoyah.device.linuxtools.messages"; //$NON-NLS-1$
+ public static String TML_Plugin_Name;
+ public static String TML_Error;
+ public static String TML_Resource_Not_Available;
+
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/messages.properties b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/messages.properties
new file mode 100644
index 0000000..a657aab
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/messages.properties
@@ -0,0 +1,21 @@
+################################################################################
+# Copyright (c) 2009 Motorola Inc.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Initial Contributors:
+# Otavio Ferranti (Motorola)
+#
+# Contributors:
+# {Name} (company) - description of contribution.
+################################################################################
+
+# NLS_MESSAGEFORMAT_VAR
+# NLS_ENCODING=UTF-8
+
+TML_Plugin_Name=Linux Tools Plugin (Incubation)
+TML_Error=A unexpected exception was found
+TML_Resource_Not_Available=Resource not available
+
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFProvider.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFProvider.java
new file mode 100644
index 0000000..6717cf0
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFProvider.java
@@ -0,0 +1,139 @@
+/********************************************************************************
+ * Copyright (c) 2009 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.network.tcf;
+
+import java.io.IOException;
+
+import org.eclipse.sequoyah.device.common.utilities.logger.ILogger;
+import org.eclipse.sequoyah.device.linuxtools.LinuxToolsPlugin;
+import org.eclipse.sequoyah.device.linuxtools.network.IConnectionProvider;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.CommandCode;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.EventCode;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.OperationCode;
+import org.eclipse.sequoyah.device.linuxtools.tools.AbstractNotifier;
+
+public class TCFProvider extends AbstractNotifier implements
+ IConnectionProvider {
+
+ private TCFWrapper connectionWrapper = null;
+ private ILogger logger = null;
+
+ private Thread connectThread = null;
+ private Thread sendCommandThread = null;
+
+ /**
+ * The constructor.
+ */
+ public TCFProvider() {
+ connectionWrapper = new TCFWrapper();
+ logger = LinuxToolsPlugin.getLogger();
+ }
+
+ /**
+ * This method will be executed in a separated thread and will produce
+ * an event to be sent to the registered listeners.
+ */
+ public void connect(String host, int port) throws IOException {
+ final String hostAux = host;
+ final int portAux = port;
+ final TCFWrapper connectionWrapperAux = connectionWrapper;
+
+ /*TODO: Enhance this. It would be great if all these executed-in-other threads
+ were located under a synchronized block */
+
+ connectThread = new Thread() {
+ public void run() {
+ try {
+ connectionWrapperAux.connect(hostAux, portAux);
+ TCFProvider.this.notifyListeners(
+ EventCode.EVT_PROVIDER_CONNECT_FINISHED,
+ OperationCode.SUCCESS);
+ } catch (IOException ie) {
+ TCFProvider.this.notifyListeners(
+ EventCode.EVT_PROVIDER_CONNECT_ERROR,
+ OperationCode.UNEXPECTED_RESULT);
+ }
+
+ }
+ };
+ connectThread.start();
+ }
+
+ public void disconnect() throws IOException {
+ if (null != connectThread &&
+ connectThread.isAlive()) {
+ connectThread.interrupt();
+ }
+
+ if (null != sendCommandThread &&
+ sendCommandThread.isAlive()) {
+ sendCommandThread.interrupt();
+ }
+ connectionWrapper.disconnect();
+ notifyListeners(
+ EventCode.EVT_PROVIDER_DISCONNECT_FINISHED, OperationCode.SUCCESS);
+ }
+
+ public StringBuffer getLastResponde() {
+ return connectionWrapper.getLastResponde();
+ }
+
+ public void login(String user, String password) throws IOException {
+
+ }
+
+ /**
+ * This method will be executed in a separated thread and will produce
+ * an event to be sent to the registered listeners.
+ */
+ public void sendCommand(CommandCode cmd, String cmdStr) throws IOException {
+
+ if (CommandCode.FETCH_FILE != cmd) {
+ return;
+ }
+
+ final TCFWrapper connectionWrapperAux = connectionWrapper;
+
+ final String path = cmdStr.substring(0, cmdStr.lastIndexOf("/"));
+ final String fileName = cmdStr.substring(cmdStr.lastIndexOf("/"));
+
+ sendCommandThread = new Thread() {
+ public void run() {
+ try {
+
+ if (null != connectionWrapperAux.fetchFile(path, fileName)) {
+ StringBuffer result = connectionWrapperAux.getLastResponde();
+ TCFProvider.this.notifyListeners(
+ EventCode.EVT_PROVIDER_SENDCOMMAND_FINISHED, result);
+ } else {
+ logger.info("##### NULL ######");
+ }
+ } catch (IOException ie) {
+ TCFProvider.this.notifyListeners(
+ EventCode.EVT_PROVIDER_SENDCOMMAND_ERROR, null);
+ }
+
+ }
+ };
+ sendCommandThread.start();
+ }
+
+ public void sendData(String out) {
+ connectionWrapper.sendData(out);
+ }
+
+ public void setResponseLength(int maxLength) {
+ connectionWrapper.setResponseLength(maxLength);
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFWrapper.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFWrapper.java
new file mode 100644
index 0000000..dab2d5d
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/network/tcf/TCFWrapper.java
@@ -0,0 +1,98 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.network.tcf;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.rse.core.IRSECoreRegistry;
+import org.eclipse.rse.core.IRSESystemType;
+import org.eclipse.rse.core.RSECorePlugin;
+import org.eclipse.rse.core.model.IHost;
+import org.eclipse.rse.core.model.ISystemRegistry;
+import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
+import org.eclipse.rse.subsystems.files.core.model.RemoteFileUtility;
+import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.OperationCode;
+
+public class TCFWrapper {
+
+ private StringBuffer lastResponse = null;
+ private IHost rseHost = null;
+
+ public void connect(String host, int port) throws IOException {
+ ISystemRegistry rseSystemRegistry = RSECorePlugin.getTheSystemRegistry();
+ IRSECoreRegistry rseCoreRegistry = RSECorePlugin.getTheCoreRegistry();
+ IRSESystemType tcfSystemType = rseCoreRegistry.getSystemTypeById("org.eclipse.tm.tcf.rse.systemType");
+ try {
+ rseHost = rseSystemRegistry.createHost(tcfSystemType, host, host, host);
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+ public void disconnect() throws IOException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public StringBuffer getLastResponde() {
+ return lastResponse;
+ }
+
+ public OperationCode login(String user, String password) throws IOException {
+ // TODO Auto-generated method stub
+ return OperationCode.SUCCESS;
+ }
+
+ public String fetchFile(String path, String fileName) throws IOException {
+ IRemoteFileSubSystem remoteFileSubSystem =
+ RemoteFileUtility.getFileSubSystem(rseHost);
+ InputStream inputStream = null;
+
+ try {
+ remoteFileSubSystem.connect(new NullProgressMonitor(), false);
+ inputStream = remoteFileSubSystem.getInputStream(path, fileName,
+ false, new NullProgressMonitor());
+ } catch (SystemMessageException sme) {
+ // TODO Auto-generated catch block
+ sme.printStackTrace();
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ lastResponse = new StringBuffer();
+
+ byte[] b = new byte[16];
+ char[] c = new char[16];
+ while (inputStream.read(b) >= 0) {
+ for (int i = 0; i < b.length; i++) {
+ c[i] = (char) b[i];
+ }
+ lastResponse.append(c);
+ }
+ return "OK";
+ }
+
+ public void sendData(String out) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setResponseLength(int maxLength) {
+ // TODO Auto-generated method stub
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider.java
new file mode 100644
index 0000000..4a34606
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetProvider.java
@@ -0,0 +1,193 @@
+/********************************************************************************
+ * Copyright (c) 2009 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.network.telnet;
+
+import java.io.IOException;
+
+import org.eclipse.sequoyah.device.common.utilities.logger.ILogger;
+import org.eclipse.sequoyah.device.linuxtools.LinuxToolsPlugin;
+import org.eclipse.sequoyah.device.linuxtools.network.IConnectionProvider;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.CommandCode;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.EventCode;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.OperationCode;
+import org.eclipse.sequoyah.device.linuxtools.tools.AbstractNotifier;
+
+/**
+ * @author Ot�vio Ferranti
+ */
+public class TelnetProvider extends AbstractNotifier implements IConnectionProvider {
+
+ final private String CMD_FETCH_PREFIX = "cat "; //$NON-NLS-1$
+
+ private TelnetWrapper connectionWrapper = null;
+ private ILogger logger = null;
+
+ private Thread connectThread = null;
+ private Thread loginThread = null;
+ private Thread sendCommandThread = null;
+
+ /**
+ * The constructor.
+ */
+ public TelnetProvider() {
+ connectionWrapper = new TelnetWrapper();
+ logger = LinuxToolsPlugin.getLogger();
+ }
+
+ /**
+ * This method will be executed in a separated thread and will produce
+ * an event to be sent to the registered listeners.
+ */
+ /* (non-Javadoc)
+ * @see org.eclipse.tml.linuxmemorymapviewer.network.IConnectionProvider#connect(java.lang.String, int)
+ */
+ public void connect(String host, int port) throws IOException {
+ final String hostAux = host;
+ final int portAux = port;
+ final TelnetWrapper connectionWrapperAux = connectionWrapper;
+
+ /*TODO: Enhance this. It would be great if all these executed-in-other threads
+ were located under a synchronized block */
+
+ connectThread = new Thread() {
+ public void run() {
+ try {
+ OperationCode opCode;
+ opCode = connectionWrapperAux.connect(hostAux, portAux);
+ TelnetProvider.this.notifyListeners(
+ EventCode.EVT_PROVIDER_CONNECT_FINISHED, opCode);
+ } catch (IOException ie) {
+ TelnetProvider.this.notifyListeners(
+ EventCode.EVT_PROVIDER_CONNECT_ERROR,
+ OperationCode.UNEXPECTED_RESULT);
+ }
+
+ }
+ };
+ connectThread.start();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.tml.linuxmemorymapviewer.network.IConnectionProvider#disconnect()
+ */
+ public void disconnect() throws IOException {
+ if (null != connectThread &&
+ connectThread.isAlive()) {
+ connectThread.interrupt();
+ }
+ if (null != loginThread &&
+ loginThread.isAlive()) {
+ loginThread.interrupt();
+ }
+ if (null != sendCommandThread &&
+ sendCommandThread.isAlive()) {
+ sendCommandThread.interrupt();
+ }
+ connectionWrapper.disconnect();
+ notifyListeners(
+ EventCode.EVT_PROVIDER_DISCONNECT_FINISHED, OperationCode.SUCCESS);
+ }
+
+ /**
+ * This method will be executed in a separated thread and will produce
+ * an event to be sent to the registered listeners.
+ */
+ /* (non-Javadoc)
+ * @see org.eclipse.tml.linuxmemorymapviewer.network.IConnectionProvider#login(java.lang.String, java.lang.String)
+ */
+ public void login(String user, String password) throws IOException {
+ final String userAux = user;
+ final String passwordAux = password;
+ final TelnetWrapper connectionWrapperAux = connectionWrapper;
+
+ /*TODO: Enhance this. It would be great if all these executed-in-other threads
+ were located under a synchronized block */
+ loginThread = new Thread() {
+ public void run() {
+ try {
+ OperationCode opCode;
+ opCode = connectionWrapperAux.login(userAux, passwordAux);
+ TelnetProvider.this.notifyListeners(
+ EventCode.EVT_PROVIDER_LOGIN_FINISHED, opCode);
+ } catch (IOException ie) {
+ TelnetProvider.this.notifyListeners(
+ EventCode.EVT_PROVIDER_LOGIN_ERROR,
+ OperationCode.UNEXPECTED_RESULT);
+ }
+ }
+ };
+ loginThread.start();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.tml.linuxmemorymapviewer.network.IConnectionProvider#getLastResponde()
+ */
+ public StringBuffer getLastResponde() {
+ return connectionWrapper.getLastResponde();
+ }
+
+ /**
+ * This method will be executed in a separated thread and will produce
+ * an event to be sent to the registered listeners.
+ */
+ /* (non-Javadoc)
+ * @see org.eclipse.tml.linuxmemorymapviewer.network.IConnectionProvider#sendCommand(java.lang.String)
+ */
+ public void sendCommand(CommandCode cmd, String cmdStr) throws IOException {
+
+ if (CommandCode.FETCH_FILE != cmd) {
+ return;
+ }
+
+ final String commandAux = CMD_FETCH_PREFIX + cmdStr + "\n"; //$NON-NLS-1$
+
+ final TelnetWrapper connectionWrapperAux = connectionWrapper;
+
+ /*TODO: Enhance this. It would be great if all these executed-in-other threads
+ were located under a synchronized block */
+ sendCommandThread = new Thread() {
+ public void run() {
+ try {
+ connectionWrapperAux.setResponseLength(2048);
+ if (null != connectionWrapperAux.sendCommand(commandAux)) {
+ StringBuffer result = connectionWrapperAux.getLastResponde();
+ TelnetProvider.this.notifyListeners(
+ EventCode.EVT_PROVIDER_SENDCOMMAND_FINISHED, result);
+ } else {
+ logger.info("##### NULL ######");
+ }
+ } catch (IOException ie) {
+ TelnetProvider.this.notifyListeners(
+ EventCode.EVT_PROVIDER_SENDCOMMAND_ERROR, null);
+ }
+
+ }
+ };
+ sendCommandThread.start();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.tml.linuxmemorymapviewer.network.IConnectionProvider#sendData(java.lang.String)
+ */
+ public void sendData(String out) {
+ connectionWrapper.sendData(out);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.tml.linuxmemorymapviewer.network.IConnectionProvider#setResponseLength(int)
+ */
+ public void setResponseLength(int maxLength) {
+ connectionWrapper.setResponseLength(maxLength);
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetWrapper.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetWrapper.java
new file mode 100644
index 0000000..fbb3f2f
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/network/telnet/TelnetWrapper.java
@@ -0,0 +1,235 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * Otavio Ferranti - Eldorado Research Institute - Bug 255255 [tml][proctools] Add extension points
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.network.telnet;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintStream;
+import java.util.HashMap;
+
+import org.apache.commons.net.telnet.EchoOptionHandler;
+import org.apache.commons.net.telnet.InvalidTelnetOptionException;
+import org.apache.commons.net.telnet.SuppressGAOptionHandler;
+import org.apache.commons.net.telnet.TelnetClient;
+import org.apache.commons.net.telnet.TerminalTypeOptionHandler;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.OperationCode;
+
+/**
+ * @author Ot�vio Ferranti
+ */
+public class TelnetWrapper {
+
+ final public String PROMPT = "[###]:"; //$NON-NLS-1$
+ final private String[] LOGIN_TOKENS = {"login:", //$NON-NLS-1$
+ "Login:"}; //$NON-NLS-1$
+ final private String[] PASSWORD_TOKENS = {"password:", //$NON-NLS-1$
+ "Password:"}; //$NON-NLS-1$
+ final private String[] LOGIN_FAILED_TOKENS = {"Login incorrect", //$NON-NLS-1$
+ "Access denied"}; //$NON-NLS-1$
+ final private String CHANGE_PROMPT = "export PS1='[\\043\\043\\043]:'\n"; //$NON-NLS-1$
+
+ // private ILogger logger = null;
+ private TelnetClient client = null;
+ private InputStream inStream = null;
+ private PrintStream outStream = null;
+ private StringBuffer lastResponse = null;
+ private int maxResponseDataLength = 1024;
+
+ private int MAX_LENGTH_PASSWORD_TOKENS = 32;
+ private int MAX_LENGTH_LOGIN_FAILED = 32;
+ private int MAX_LENGTH_LOGIN_INITSCREEN = 2048;
+ private int MAX_LENGTH_CHANGE_PROMPT = 128;
+
+ /**
+ * Constructor
+ */
+ public TelnetWrapper() {
+ if (null == this.client) {
+ this.client = new TelnetClient();
+ try {
+ this.client.addOptionHandler(new TerminalTypeOptionHandler(
+ "VT100", false, false, true, false)); //$NON-NLS-1$
+ this.client.addOptionHandler(new SuppressGAOptionHandler(
+ true, true, true, true));
+ this.client.addOptionHandler(new EchoOptionHandler(
+ false, false, false, false));
+ } catch (InvalidTelnetOptionException itoe) { }
+ // logger = LinuxToolsPlugin.getLogger();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.network.IConnectionWrapper#connect(java.lang.String, int)
+ */
+ public OperationCode connect(String host, int port) throws IOException {
+ OperationCode retVal;
+
+ this.client.connect(host, port);
+
+ inStream = client.getInputStream();
+ outStream = new PrintStream (client.getOutputStream());
+
+ // sendData(user+"\n");
+ if(null == readUntilTokens(LOGIN_TOKENS)) {
+ retVal = OperationCode.SUCCESS;
+ } else {
+ retVal = OperationCode.LOGIN_REQUIRED;
+ }
+ return retVal;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.network.IConnectionWrapper#disconnect()
+ */
+ public void disconnect() throws IOException {
+ if (null != client) {
+ client.disconnect();
+ // System.out.println("Connection closed ...");
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.network.IConnectionWrapper#login(java.lang.String, java.lang.String)
+ */
+ public OperationCode login(String user, String password) throws IOException {
+ OperationCode retVal = OperationCode.UNEXPECTED_RESULT;
+
+ sendData(user+"\n"); //$NON-NLS-1$
+ setResponseLength(MAX_LENGTH_PASSWORD_TOKENS);
+ if (null != readUntilTokens(PASSWORD_TOKENS)) {
+ sendData(password+"\n"); //$NON-NLS-1$
+
+ setResponseLength(MAX_LENGTH_LOGIN_FAILED);
+ if (null != readUntilTokens(LOGIN_FAILED_TOKENS)) {
+ if(null != readUntilTokens(LOGIN_TOKENS)) {
+ retVal = OperationCode.LOGIN_FAILED;
+ } else {
+ retVal = OperationCode.UNEXPECTED_RESULT;
+ }
+ return retVal;
+ } else {
+ setResponseLength(MAX_LENGTH_LOGIN_INITSCREEN);
+ int toBeSkipped = inStream.available();
+ inStream.skip(toBeSkipped);
+ }
+ }
+ try {
+ Thread.sleep (2000);
+ } catch (InterruptedException ite) {
+
+ }
+ setResponseLength(MAX_LENGTH_CHANGE_PROMPT);
+ sendData(CHANGE_PROMPT);
+ if (null != readUntilTokens(PROMPT)) {
+ retVal = OperationCode.SUCCESS;
+ }
+ return retVal;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.network.IConnectionWrapper#getLastResponde()
+ */
+ public StringBuffer getLastResponde() {
+ return lastResponse;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.network.IConnectionWrapper#sendCommand(java.lang.String)
+ */
+ public String sendCommand(String command) throws IOException {
+ sendData (command);
+ return readUntilTokens (PROMPT);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.network.IConnectionWrapper#sendData(java.lang.String)
+ */
+ public void sendData(String out) {
+ if (null != outStream) {
+ outStream.print(out);
+ outStream.flush();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.network.IConnectionWrapper#setResponseLength(int)
+ */
+ public void setResponseLength(int maxLength) {
+ maxResponseDataLength = maxLength;
+ }
+
+ /**
+ * @param token
+ * @return
+ * @throws IOException
+ */
+ private String readUntilTokens(String token)throws IOException {
+ return readUntilTokens(new String[] {token});
+ }
+
+ /**
+ * @param tokenArray
+ * @return
+ * @throws IOException
+ */
+ private String readUntilTokens(final String []tokenArray) throws IOException {
+ String matchedString = null;
+ boolean tokenFound = false;
+ StringBuffer readData = new StringBuffer();
+
+ HashMap<String,Integer> hashMap = new HashMap<String,Integer>();
+
+ for (int i = 0; i < tokenArray.length; i++) {
+ hashMap.put(tokenArray[i], new Integer(0));
+ }
+
+ for (int i = 0; i < this.maxResponseDataLength; i++) {
+
+ int aux = inStream.read();
+
+ char ch = 0;
+ if (aux == 0 || aux == 1) {
+ continue;
+ } else {
+ ch = (char) aux;
+ }
+ readData.append(ch);
+
+ // if (ch != 1 && ch != 0)
+ // logger.info(ch);
+
+ for (int j = 0; j < tokenArray.length; j++) {
+ String token = tokenArray[j];
+ Integer rank = hashMap.get(token);
+ if (ch == token.charAt(rank)) {
+ rank ++;
+ if (rank >= token.length()) {
+ // MATCHED
+ readData.setLength(readData.length() - token.length());
+ matchedString = token;
+ tokenFound = true;
+ }
+ } else {
+ rank = 0;
+ }
+ hashMap.put(token, rank);
+ }
+ if (tokenFound) {
+ break;
+ }
+ }
+ this.lastResponse = readData;
+ return matchedString;
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadProcessor.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadProcessor.java
new file mode 100644
index 0000000..e6edcbe
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadProcessor.java
@@ -0,0 +1,279 @@
+/********************************************************************************
+ * Copyright (c) 2009 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.tools.cpuload;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Scanner;
+import java.util.regex.MatchResult;
+
+import org.eclipse.sequoyah.device.common.utilities.logger.ILogger;
+import org.eclipse.sequoyah.device.linuxtools.LinuxToolsPlugin;
+import org.eclipse.sequoyah.device.linuxtools.network.IConnectionProvider;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.CommandCode;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.EventCode;
+import org.eclipse.sequoyah.device.linuxtools.tools.AbstractNotifier;
+import org.eclipse.sequoyah.device.linuxtools.tools.IListener;
+import org.eclipse.sequoyah.device.linuxtools.tools.INotifier;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class CpuLoadProcessor extends AbstractNotifier implements IListener {
+
+ final private String CMD_FETCH_STAT = "/proc/stat"; //$NON-NLS-1$
+ final private String PARSE_PATTERN_1 = "cpu(\\d*)(.*)"; //$NON-NLS-1$;
+ final private String PARSE_PATTERN_2 = "\\s+(\\d+)"; //$NON-NLS-1$;
+ final private String DATA_FORMAT = "%1$02.1f %%"; //$NON-NLS-1$;
+
+ final private String MSG_EXECUTING_COMMAND =
+ Messages.CpuLoadProcessor_Msg_Executing_the_command;
+
+ final private String MSG_GOT_RESULT =
+ Messages.CpuLoadProcessor_Msg_Got_The_Result;
+
+ final private int MAX_COLUMNS = 100;
+
+ private int[][] previousData = null;
+ private long[] previousTotal = null;
+ private IConnectionProvider connectionProvider = null;
+
+ private ILogger logger = null;
+
+ /**
+ * The constructor;
+ * @param connectionProvider
+ */
+ public CpuLoadProcessor(IConnectionProvider connectionProvider) {
+ setConnectionProvider(connectionProvider);
+ logger = LinuxToolsPlugin.getLogger();
+ }
+
+ /**
+ * Requests data.
+ * @throws IOException
+ */
+ public void gatherData() throws IOException {
+ this.connectionProvider.sendCommand(CommandCode.FETCH_FILE, this.CMD_FETCH_STAT);
+ logger.debug(MSG_EXECUTING_COMMAND + "\n" + this.CMD_FETCH_STAT); //$NON-NLS-1$
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.network.IListener#notify(org.eclipse.sequoyah.device.linuxtools.network.INotifier, org.eclipse.sequoyah.device.linuxtools.network.IConstants.EventCode, java.lang.Object)
+ */
+ public void notify(INotifier notifier,
+ EventCode event,
+ Object result) {
+ if (notifier == this.connectionProvider &&
+ event == EventCode.EVT_PROVIDER_SENDCOMMAND_FINISHED) {
+ Object[][] parsedResult = parseStat((StringBuffer) result);
+ this.notifyListeners(EventCode.EVT_PROCESSOR_GATHERDATA_FINISHED,
+ parsedResult);
+ }
+ }
+
+ /**
+ * Set the connection provider.
+ * @param connectionProvider
+ */
+ public void setConnectionProvider (IConnectionProvider connectionProvider) {
+ if (null != this.connectionProvider) {
+ this.connectionProvider.removeListener(this);
+ }
+ this.connectionProvider = connectionProvider;
+ if (null != this.connectionProvider) {
+ this.connectionProvider.addListener(this);
+ }
+ }
+
+ /**
+ * @param currentDataStr
+ * @return
+ */
+ private Object[][] calculateTimes(String[][] currentDataStr) {
+ String[][] resultStr = null;
+
+ if (null == currentDataStr) {
+ currentDataStr = new String[][] {{"0"}};
+ }
+ if (null == previousData) {
+ previousData = new int[][] {{0}};
+ previousTotal = new long[] {1};
+ }
+ if (previousData.length != currentDataStr.length ||
+ previousData[0].length != currentDataStr[0].length) {
+ previousData = String2int(currentDataStr);
+ previousTotal = new long[previousData.length];
+
+ for (int j = 0; j < previousData.length; j++) {
+ long total = 0;
+ for (int i = 0; i < previousData[0].length; i++) {
+ total += previousData[j][i];
+ }
+ previousTotal[j] = total;
+ }
+ }
+ final int[][] currentDataInt = String2int(currentDataStr);
+ float[][] resultFloat = new float[currentDataStr.length][currentDataStr[0].length];
+
+ for (int j = 0; j < currentDataInt.length; j++) {
+ long total = 0;
+ for (int i = 0; i < currentDataInt[0].length; i++) {
+ total += currentDataInt[j][i];
+ }
+ float deltaTotal = total - previousTotal[j];
+ previousTotal[j] = total;
+ for (int i = 0; i < currentDataInt[0].length; i++) {
+ float deltaData = currentDataInt[j][i] - previousData[j][i];
+ if (0 == deltaTotal) {
+ resultFloat[j][i] = 0;
+ } else {
+ resultFloat[j][i] = 100* deltaData / deltaTotal;
+ }
+ }
+ }
+ previousData = currentDataInt;
+ resultStr = float2StringFormated(resultFloat, DATA_FORMAT);
+ return resultStr;
+ }
+
+ /**
+ * @param target
+ * @param Source
+ */
+ private void copyData(Object[][] target, Object[][] Source) {
+ for (int j = 0; j < target.length; j++) {
+ for (int i = 1; i < target[0].length; i++) {
+ target[j][i] = Source[j][i-1];
+ }
+ }
+ }
+
+ /**
+ * @param input
+ * @return
+ */
+ private String[][] float2StringFormated (float[][] input, String format) {
+ String[][] output = null;
+ if (null != input) {
+ output = new String[input.length][input[0].length];
+ for (int j = 0; j < output.length; j++) {
+ for (int i = 0; i < output[0].length; i++) {
+ output[j][i] = String.format(format, new Float(input[j][i]));
+ }
+ }
+ }
+ return output;
+ }
+
+ /**
+ * @param data
+ * @return
+ */
+ private Object[][] parseStat(StringBuffer data) {
+ logger.debug(MSG_GOT_RESULT + "\n" + data.toString());
+
+ int requiredColumns = 0;
+
+ Scanner s1 = new Scanner(data.toString());
+ ArrayList<String[]> list = new ArrayList<String[]>();
+
+ while (s1.hasNextLine()) {
+ String[] entry = new String[MAX_COLUMNS];;
+
+ Scanner s2 = new Scanner(s1.nextLine());
+ s2.findInLine(PARSE_PATTERN_1);
+
+ try {
+
+ MatchResult result = s2.match();
+ entry[0] = result.group(1).trim();
+
+ String aux = result.group(2);
+
+ Scanner s3 = new Scanner(aux);
+ entry[1] = s3.findInLine(PARSE_PATTERN_2).trim();
+
+ s3.match();
+ int i = 2;
+
+ while (s3.hasNext() && i < MAX_COLUMNS) {
+ entry[i] = s3.next().trim();
+
+ if (i > requiredColumns) {
+ requiredColumns = i;
+ }
+ i++;
+ }
+ s3.close();
+ if (null != entry) {
+ list.add(entry);
+ }
+ } catch (IllegalStateException ise) {
+ }
+ s2.close();
+ }
+ s1.close();
+
+ String[][] dataAux = new String[list.size()][requiredColumns + 1];
+ for (int j = 0; j < dataAux.length; j++) {
+ for (int i = 0; i < dataAux[0].length; i++) {
+ dataAux[j][i] = list.get(j)[i];
+ }
+ }
+ String[][] dataStrippedAux = stripFirstColumn(dataAux);
+ Object[][] result = calculateTimes(dataStrippedAux);
+ copyData(dataAux, result);
+ return dataAux;
+ }
+
+ /**
+ * @param input
+ * @return
+ */
+ private int[][] String2int (String[][] input) {
+ int[][] output = null;
+ if (null != input) {
+ output = new int[input.length][input[0].length];
+ for (int j = 0; j < output.length; j++) {
+ for (int i = 0; i < output[0].length; i++) {
+ try {
+ output[j][i] = new Integer(input[j][i]).intValue();
+ }
+ catch (NumberFormatException nfe) {
+ output[j][i] = -1;
+ }
+ }
+ }
+ }
+ return output;
+ }
+
+ /**
+ * @param input
+ * @return
+ */
+ private String[][] stripFirstColumn (String[][] input) {
+ String output[][] = null;
+ if (null != input) {
+ output = new String[input.length][input[0].length-1];
+ for (int j = 0; j < output.length; j++) {
+ for (int i = 0; i < output[0].length; i++) {
+ output[j][i] = input[j][i+1];
+ }
+ }
+ }
+ return output;
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadTool.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadTool.java
new file mode 100644
index 0000000..0c8bb37
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadTool.java
@@ -0,0 +1,208 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * Otavio Ferranti - Eldorado Research Institute - Bug 255255 [tml][proctools] Add extension points
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.tools.cpuload;
+
+import java.io.IOException;
+import java.util.List;
+
+import org.eclipse.sequoyah.device.linuxtools.network.IConnectionProvider;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.EventCode;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.OperationCode;
+import org.eclipse.sequoyah.device.linuxtools.tools.AbstractNotifier;
+import org.eclipse.sequoyah.device.linuxtools.tools.IListener;
+import org.eclipse.sequoyah.device.linuxtools.tools.INotifier;
+import org.eclipse.sequoyah.device.linuxtools.tools.ITool;
+import org.eclipse.sequoyah.device.linuxtools.utilities.Extensions;
+import org.eclipse.sequoyah.device.linuxtools.utilities.ProtocolDescriptor;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class CpuLoadTool extends AbstractNotifier implements IListener, ITool {
+
+ public enum ToolStateEnum {RUNNING, STOPPED, STOP_SCHEDULED};
+
+ private IConnectionProvider connectionProvider = null;
+ private CpuLoadProcessor processor = null;
+ private int delay = 1000;
+
+ private ToolStateEnum toolState = ToolStateEnum.STOPPED;
+
+ private String[] requiredCapabilities = {"GET_FILE"}; //$NON-NLS-1$
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.tools.ITool#createConnection(java.lang.String, int, java.lang.String)
+ */
+ public void connect (String host,
+ int port,
+ ProtocolDescriptor protocol) {
+
+ Class<IConnectionProvider> connectionProviderClass =
+ protocol.getConnectionProviderClass();
+
+ try {
+ Object aux = connectionProviderClass.newInstance();
+ connectionProvider = (IConnectionProvider) aux;
+ } catch (InstantiationException ie) {
+ } catch (IllegalAccessException iae) {
+ } catch (ClassCastException cce) {
+ }
+
+ connectionProvider.addListener(this);
+ try {
+ connectionProvider.connect(host, port);
+ } catch (IOException ie) { }
+ processor = new CpuLoadProcessor(connectionProvider);
+
+ processor.addListener(this);
+ toolState = ToolStateEnum.STOPPED;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.tools.ITool#closeConnection()
+ */
+ public void disconnect() {
+ if (null != connectionProvider) {
+ try {
+ connectionProvider.disconnect();
+ } catch (IOException ie) {
+ }
+ connectionProvider = null;
+ toolState = ToolStateEnum.STOPPED;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.tools.ITool#login(java.lang.String, java.lang.String)
+ */
+ public void login (String user, String password) {
+ try {
+ connectionProvider.login(user, password);
+ } catch (IOException ie) {
+ //TODO: Nothing ?
+ }
+ }
+
+ public List<ProtocolDescriptor> getProtocolsDescriptors() {
+ List <ProtocolDescriptor> pdList = Extensions.findProcotols(requiredCapabilities);
+ return pdList;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.tools.IListener#notify(org.eclipse.sequoyah.device.linuxtools.tools.INotifier, org.eclipse.sequoyah.device.linuxtools.network.IConstants.EventCode, java.lang.Object)
+ */
+ public void notify(INotifier notifier, EventCode event, Object result) {
+ try {
+ if (notifier == connectionProvider) {
+ switch (event) {
+ case EVT_PROVIDER_CONNECT_FINISHED:
+ if (OperationCode.SUCCESS == result) {
+ start();
+ }
+ this.notifyListeners(
+ EventCode.EVT_TOOL_CONNECT_FINISHED,
+ result);
+ break;
+ case EVT_PROVIDER_CONNECT_ERROR:
+
+ break;
+ case EVT_PROVIDER_LOGIN_FINISHED:
+ if (OperationCode.SUCCESS == result) {
+ start();
+ }
+ this.notifyListeners(
+ EventCode.EVT_TOOL_LOGIN_FINISHED,
+ result);
+ break;
+ case EVT_PROVIDER_SENDCOMMAND_FINISHED:
+ break;
+ case EVT_PROVIDER_SENDCOMMAND_ERROR:
+ break;
+ case EVT_PROVIDER_SENDDATA_FINISHED:
+ break;
+ case EVT_PROVIDER_SENDDATA_ERROR:
+ break;
+ case EVT_PROVIDER_DISCONNECT_FINISHED:
+ this.notifyListeners(
+ EventCode.EVT_TOOL_DISCONNECT_FINISHED,
+ result);
+ break;
+ }
+ }
+ if (notifier == processor) {
+ switch (event) {
+ case EVT_PROCESSOR_GATHERDATA_FINISHED:
+ if (ToolStateEnum.RUNNING == toolState) {
+ try {
+ notifyListeners(EventCode.EVT_TOOL_REFRESH_VIEW,
+ result);
+ Thread.sleep(delay);
+ processor.gatherData();
+ } catch (InterruptedException ie) {
+ }
+ } else if (ToolStateEnum.STOP_SCHEDULED == toolState) {
+ toolState = ToolStateEnum.STOPPED;
+ }
+ break;
+ case EVT_PROCESSOR_GATHERDATA_ERROR:
+ break;
+ }
+ }
+ } catch (IOException ie) {
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.tools.ITool#getRefreshDelay()
+ */
+ public int getRefreshDelay() {
+ return this.delay;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.tools.ITool#setRefreshDelay(int)
+ */
+ public void setRefreshDelay(int delay) {
+ this.delay = delay;
+ }
+
+ /**
+ *
+ */
+ public void start() {
+ try {
+ if (null != processor) {
+ if (ToolStateEnum.STOPPED == toolState) {
+ toolState = ToolStateEnum.RUNNING;
+ processor.gatherData();
+ } else if (ToolStateEnum.STOP_SCHEDULED == toolState) {
+ toolState = ToolStateEnum.RUNNING;
+ }
+ }
+ } catch (IOException ie) {
+ //TODO: Nothing ?
+ }
+ }
+
+ /**
+ *
+ */
+ public void stop () {
+ toolState = ToolStateEnum.STOP_SCHEDULED;
+ }
+
+ public void refresh() {
+ // TODO Auto-generated method stub
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView.java
new file mode 100644
index 0000000..9942c6d
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadView.java
@@ -0,0 +1,332 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.tools.cpuload;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerSorter;
+import org.eclipse.sequoyah.device.linuxtools.LinuxToolsPlugin;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.EventCode;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.OperationCode;
+import org.eclipse.sequoyah.device.linuxtools.tools.IListener;
+import org.eclipse.sequoyah.device.linuxtools.tools.INotifier;
+import org.eclipse.sequoyah.device.linuxtools.tools.ITool;
+import org.eclipse.sequoyah.device.linuxtools.ui.DialogLogin;
+import org.eclipse.sequoyah.device.linuxtools.ui.IToolViewPart;
+import org.eclipse.sequoyah.device.linuxtools.ui.ViewActionConnect;
+import org.eclipse.sequoyah.device.linuxtools.ui.ViewActionDisconnect;
+import org.eclipse.sequoyah.device.linuxtools.ui.ViewActionPause;
+import org.eclipse.sequoyah.device.linuxtools.ui.ViewActionRun;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IViewActionDelegate;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.part.ViewPart;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class CpuLoadView extends ViewPart implements IToolViewPart, IListener {
+
+ private class CpuSorter extends ViewerSorter {
+
+ public int compare(Viewer viewer, Object e1, Object e2) {
+ int result = 0;
+ try {
+ int a = new Integer(((String[]) e1)[0]).intValue();
+ int b = new Integer(((String[]) e2)[0]).intValue();
+ if (a > b) {
+ result = 1;
+ } else if (a < b) {
+ result = -1;
+ };
+ }
+ catch (NumberFormatException nfe) {
+ //TODO: Nothing ?
+ }
+ return result;
+ }
+ }
+ final private String COL_LABEL_CPU = Messages.CpuLoadView_Col_Label_Cpu;
+ final private String COL_LABEL_USER_MODE = Messages.CpuLoadView_Col_Label_User_Mode;
+ final private String COL_LABEL_NICE = Messages.CpuLoadView_Col_Label_Nice;
+ final private String COL_LABEL_SYSTEM = Messages.CpuLoadView_Col_Label_System;
+ final private String COL_LABEL_IDLE = Messages.CpuLoadView_Col_Label_Idle;
+ final private String COL_LABEL_WAIT = Messages.CpuLoadView_Col_Label_Wait;
+ final private String COL_LABEL_HIRQ = Messages.CpuLoadView_Col_label_HIrq;
+
+ final private String COL_LABEL_SIRQ = Messages.CpuLoadView_Col_Label_SIrq;
+
+ private ITool tool = null;
+ private TableViewer viewer;
+
+ private Action runAction;
+ private Action pauseAction;
+ private Action optionsAction;
+ private Action disconnectAction;
+ private Action connectAction;
+
+ private boolean receivedData = false;
+
+ private IPartListener partActivationListener = new IPartListener() {
+ public void partActivated(IWorkbenchPart part) {
+ }
+
+ public void partBroughtToTop(IWorkbenchPart part) {
+ }
+
+ public void partClosed(IWorkbenchPart part) {
+ if (CpuLoadView.this.getSite().getPart() == part) {
+ ITool tool = CpuLoadView.this.getTool();
+ if (null != tool) {
+ tool.disconnect();
+ }
+ }
+ }
+
+ public void partDeactivated(IWorkbenchPart part) {
+ }
+
+ public void partOpened(IWorkbenchPart part) {
+ }
+ };
+
+ /**
+ * The constructor.
+ */
+ public CpuLoadView() {
+ }
+
+ /**
+ * This is a callback that will allow us
+ * to create the viewer and initialize it.
+ */
+ public void createPartControl(Composite parent) {
+
+ viewer = new TableViewer(parent, SWT.FULL_SELECTION |
+ SWT.H_SCROLL | SWT.V_SCROLL);
+ viewer.setContentProvider(new CpuLoadViewContentProvider());
+ viewer.setLabelProvider(new CpuLoadViewLabelProvider());
+ viewer.setSorter(new CpuSorter());
+
+ Table table = viewer.getTable();
+ table.setHeaderVisible(true);
+
+ new TableColumn(table, SWT.LEFT).setText(COL_LABEL_CPU);
+ new TableColumn(table, SWT.LEFT).setText(COL_LABEL_USER_MODE);
+ new TableColumn(table, SWT.LEFT).setText(COL_LABEL_NICE);
+ new TableColumn(table, SWT.LEFT).setText(COL_LABEL_SYSTEM);
+ new TableColumn(table, SWT.LEFT).setText(COL_LABEL_IDLE);
+ new TableColumn(table, SWT.LEFT).setText(COL_LABEL_WAIT);
+ new TableColumn(table, SWT.LEFT).setText(COL_LABEL_HIRQ);
+ new TableColumn(table, SWT.LEFT).setText(COL_LABEL_SIRQ);
+
+ refresh();
+ resize();
+
+ makeActions();
+ // hookDoubleClickAction();
+ addToToolBar();
+
+ getViewSite()
+ .getWorkbenchWindow()
+ .getPartService()
+ .addPartListener(partActivationListener);
+
+ setConnectEnabled(true);
+ setRunPauseEnabled(false, false);
+ }
+
+ private void addToToolBar() {
+ IActionBars actionBars = getViewSite().getActionBars();
+ IToolBarManager toolBarMmanager = actionBars.getToolBarManager();
+ toolBarMmanager.add(runAction);
+ toolBarMmanager.add(pauseAction);
+ toolBarMmanager.add(optionsAction);
+ toolBarMmanager.add(disconnectAction);
+ toolBarMmanager.add(connectAction);
+ }
+
+ private void makeActions() {
+
+ runAction = new Action() {
+ public void run() {
+ IViewActionDelegate delegate = new ViewActionRun();
+ delegate.init(CpuLoadView.this);
+ delegate.run(this);
+ setRunPauseEnabled(false, true);
+ }
+ };
+ runAction.setToolTipText(Messages.CpuLoadView_Action_Run);
+ runAction.setImageDescriptor(
+ LinuxToolsPlugin.getDefault().getImageDescriptor(LinuxToolsPlugin.ICON_RUN));
+
+ pauseAction = new Action() {
+ public void run() {
+ IViewActionDelegate delegate = new ViewActionPause();
+ delegate.init(CpuLoadView.this);
+ delegate.run(this);
+ setRunPauseEnabled(true, false);
+ }
+ };
+ pauseAction.setToolTipText(Messages.CpuLoadView_Action_Pause);
+ pauseAction.setImageDescriptor(
+ LinuxToolsPlugin.getDefault().getImageDescriptor(LinuxToolsPlugin.ICON_PAUSE));
+
+ optionsAction = new Action() {
+ public void run() {
+ IViewActionDelegate delegate = new ViewActionOptions();
+ delegate.init(CpuLoadView.this);
+ delegate.run(this);
+ }
+ };
+ optionsAction.setToolTipText(Messages.CpuLoadView_Action_Options);
+ optionsAction.setImageDescriptor(
+ LinuxToolsPlugin.getDefault().getImageDescriptor(LinuxToolsPlugin.ICON_OPTIONS));
+
+ disconnectAction = new Action() {
+ public void run() {
+ IViewActionDelegate delegate = new ViewActionDisconnect();
+ delegate.init(CpuLoadView.this);
+ delegate.run(this);
+ }
+ };
+ disconnectAction.setToolTipText(Messages.CpuLoadView_Action_Disconnect);
+ disconnectAction.setImageDescriptor(
+ LinuxToolsPlugin.getDefault().getImageDescriptor(LinuxToolsPlugin.ICON_DISCONNECT));
+
+ connectAction = new Action() {
+ public void run() {
+ IViewActionDelegate delegate = new ViewActionConnect();
+ delegate.init(CpuLoadView.this);
+ delegate.run(this);
+ }
+ };
+ connectAction.setToolTipText(Messages.CpuLoadView_Action_Connect);
+ connectAction.setImageDescriptor(
+ LinuxToolsPlugin.getDefault().getImageDescriptor(LinuxToolsPlugin.ICON_CONNECT));
+ }
+
+ private void setConnectEnabled(boolean bool) {
+ connectAction.setEnabled(bool);
+ disconnectAction.setEnabled(!bool);
+ }
+
+ private void setRunPauseEnabled(boolean runBool, boolean pauseBool) {
+ runAction.setEnabled(runBool);
+ pauseAction.setEnabled(pauseBool);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.ui.IToolView#getTool()
+ */
+ public ITool getTool() {
+ if(null == tool) {
+ tool = new CpuLoadTool();
+ tool.addListener(this);
+ }
+ return tool;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.network.IListener#notify(org.eclipse.sequoyah.device.linuxtools.network.INotifier, org.eclipse.sequoyah.device.linuxtools.network.IConstants.EventCode, java.lang.Object)
+ */
+ public void notify(INotifier notifier, EventCode event, Object result) {
+ if (notifier == this.tool) {
+ final Object finalResult = result;
+ final EventCode finalEvent = event;
+ final ViewPart finalView = this;
+ final ITool finalTool = this.tool;
+
+ this.getViewSite().getShell().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ switch(finalEvent) {
+ case EVT_TOOL_REFRESH_VIEW:
+ viewer.setInput(finalResult);
+ refresh();
+ if (!receivedData) {
+ resize();
+ receivedData = true;
+ }
+ break;
+ case EVT_TOOL_CONNECT_FINISHED:
+ case EVT_TOOL_LOGIN_FINISHED:
+ switch ((OperationCode)finalResult) {
+ case SUCCESS:
+ setConnectEnabled(false);
+ setRunPauseEnabled(false, true);
+ break;
+ case LOGIN_REQUIRED: {
+ final DialogLogin dialog = new DialogLogin(
+ finalView.getViewSite().getShell(),
+ finalTool, false);
+ dialog.open();
+ }
+ break;
+ case LOGIN_FAILED: {
+ final DialogLogin dialog = new DialogLogin(
+ finalView.getViewSite().getShell(),
+ finalTool, true);
+ dialog.open();
+ }
+ break;
+ }
+ break;
+ case EVT_TOOL_DISCONNECT_FINISHED:
+ setConnectEnabled(true);
+ setRunPauseEnabled(false, false);
+ break;
+ }
+ }
+ });
+ }
+ }
+
+ /**
+ *
+ */
+ public void refresh() {
+ viewer.refresh();
+ }
+
+ /**
+ *
+ */
+ public void resize() {
+ Table table = viewer.getTable();
+ for (int i = 0, n = table.getColumnCount(); i < n; i++) {
+ table.getColumn(i).pack();
+ }
+ }
+
+ /**
+ * @param data
+ */
+ public void setData (Object data) {
+ viewer.setInput(data);
+ }
+
+ /**
+ * Passing the focus request to the viewer's control.
+ */
+ public void setFocus() {
+ viewer.getControl().setFocus();
+ }
+} \ No newline at end of file
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadViewContentProvider.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadViewContentProvider.java
new file mode 100644
index 0000000..00a8f37
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadViewContentProvider.java
@@ -0,0 +1,61 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.tools.cpuload;
+
+import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+
+/*
+ * The content provider class is responsible for
+ * providing objects to the view. It can wrap
+ * existing objects in adapters or simply return
+ * objects as-is. These objects may be sensitive
+ * to the current input of the view, or ignore
+ * it and always show the same content
+ * (like Task List, for example).
+ */
+
+/**
+ * @author Otavio Ferranti
+ */
+public class CpuLoadViewContentProvider implements IStructuredContentProvider {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.IContentProvider#dispose()
+ */
+ public void dispose() {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
+ */
+ public Object[] getElements(Object parent) {
+ if (parent instanceof String[][]) {
+ return (String[][]) parent;
+ } else {
+ String[][] aux = new String[1][];
+ aux[0] = new String[] {"", "", //$NON-NLS-1$ //$NON-NLS-2$
+ "", "", //$NON-NLS-1$ //$NON-NLS-2$
+ "", "", //$NON-NLS-1$ //$NON-NLS-2$
+ "", ""}; //$NON-NLS-1$ //$NON-NLS-2$
+ return aux;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
+ */
+ public void inputChanged(Viewer v, Object oldInput, Object newInput) {
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadViewLabelProvider.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadViewLabelProvider.java
new file mode 100644
index 0000000..085d569
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/CpuLoadViewLabelProvider.java
@@ -0,0 +1,54 @@
+/********************************************************************************
+ * Copyright (c) 2009 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.tools.cpuload;
+
+import org.eclipse.jface.viewers.ITableLabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.ISharedImages;
+import org.eclipse.ui.PlatformUI;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class CpuLoadViewLabelProvider extends LabelProvider implements
+ ITableLabelProvider {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
+ */
+ public Image getColumnImage(Object obj, int index) {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
+ */
+ public String getColumnText(Object obj, int index) {
+ if (obj instanceof String[]) {
+ return getText(((Object[]) obj)[index]);
+ } else {
+ return new String(""); //$NON-NLS-1$
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
+ */
+ public Image getImage(Object obj) {
+ return PlatformUI.getWorkbench().
+ getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT);
+ }
+}
+
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/DialogOptions.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/DialogOptions.java
new file mode 100644
index 0000000..846e7b9
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/DialogOptions.java
@@ -0,0 +1,108 @@
+/********************************************************************************
+ * Copyright (c) 2009 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.tools.cpuload;
+
+import org.eclipse.jface.dialogs.TitleAreaDialog;
+import org.eclipse.sequoyah.device.linuxtools.tools.ITool;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Spinner;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class DialogOptions extends TitleAreaDialog {
+
+ final private String WINDOW_TITLE = Messages.OptionsDialog_Window_Title;
+ final private String WINDOW_MESSAGE = Messages.OptionsDialog_Window_Message;
+ final private String LABEL_REFRESH = Messages.OptionsDialog_Label_Refresh_Rate;
+ final private String LABEL_TIMEUNIT = "ms"; //$NON-NLS-1$
+
+ private Spinner spinner;
+
+ private ITool tool = null;
+
+ /**
+ * The constructor.
+ * @param parent
+ */
+ public DialogOptions(Shell parent, ITool tool) {
+ super(parent);
+ this.tool = tool;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.TitleAreaDialog#createDialogArea(org.eclipse.swt.widgets.Composite)
+ */
+ protected Control createDialogArea(Composite parent) {
+ setTitle(WINDOW_TITLE);
+ setMessage(WINDOW_MESSAGE);
+
+ Composite dialogArea = new Composite(parent, SWT.NONE);
+ GridLayout gridLayout = new GridLayout(3, false);
+
+ gridLayout.marginLeft = 7;
+ gridLayout.marginRight = 7;
+
+ dialogArea.setLayout(gridLayout);
+ dialogArea.setLayoutData(new GridData(GridData.FILL_BOTH));
+ dialogArea.setFont(parent.getFont());
+
+ Label refreshLabel = new Label(dialogArea, SWT.NULL);
+ refreshLabel.setText(LABEL_REFRESH);
+
+ spinner = new Spinner(dialogArea, SWT.BORDER);
+
+ Label timeUnit = new Label(dialogArea, SWT.NULL);
+ timeUnit.setText(LABEL_TIMEUNIT);
+
+ spinner.setMinimum(0);
+ spinner.setMaximum(50000);
+ spinner.setSelection(tool.getRefreshDelay());
+ spinner.setIncrement(100);
+ spinner.setPageIncrement(500);
+ spinner.pack();
+
+ return dialogArea;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.TitleAreaDialog#getInitialSize()
+ */
+ protected Point getInitialSize() {
+ return super.getInitialSize();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.Dialog#okPressed()
+ */
+ protected void okPressed() {
+ tool.setRefreshDelay(spinner.getSelection());
+ super.okPressed();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.Dialog#cancelPressed()
+ */
+ protected void cancelPressed() {
+ super.cancelPressed();
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/Messages.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/Messages.java
new file mode 100644
index 0000000..736460a
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/Messages.java
@@ -0,0 +1,49 @@
+/********************************************************************************
+ * Copyright (c) 2009 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.tools.cpuload;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class Messages extends NLS {
+ private static final String BUNDLE_NAME =
+ "org.eclipse.sequoyah.device.linuxtools.tools.cpuload.messages"; //$NON-NLS-1$
+ public static String CpuLoadProcessor_Msg_Executing_the_command;
+ public static String CpuLoadProcessor_Msg_Got_The_Result;
+ public static String CpuLoadView_Action_Connect;
+ public static String CpuLoadView_Action_Disconnect;
+ public static String CpuLoadView_Action_Options;
+ public static String CpuLoadView_Action_Pause;
+ public static String CpuLoadView_Action_Run;
+ public static String CpuLoadView_Col_Label_Cpu;
+ public static String CpuLoadView_Col_label_HIrq;
+ public static String CpuLoadView_Col_Label_Idle;
+ public static String CpuLoadView_Col_Label_Nice;
+ public static String CpuLoadView_Col_Label_SIrq;
+ public static String CpuLoadView_Col_Label_System;
+ public static String CpuLoadView_Col_Label_User_Mode;
+ public static String CpuLoadView_Col_Label_Wait;
+ public static String OptionsDialog_Label_Refresh_Rate;
+ public static String OptionsDialog_Window_Message;
+ public static String OptionsDialog_Window_Title;
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/ViewActionOptions.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/ViewActionOptions.java
new file mode 100644
index 0000000..d50864f
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/ViewActionOptions.java
@@ -0,0 +1,59 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.tools.cpuload;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.sequoyah.device.linuxtools.ui.IToolViewPart;
+import org.eclipse.ui.IViewActionDelegate;
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.PlatformUI;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class ViewActionOptions implements IViewActionDelegate {
+
+ private IViewPart targetPart;
+
+ /**
+ * The constructor.
+ */
+ public ViewActionOptions() {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
+ */
+ public void init(IViewPart view) {
+ this.targetPart = view;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+ */
+ public void run(IAction action) {
+ final DialogOptions dialog = new DialogOptions(
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
+ ((IToolViewPart) this.targetPart).getTool());
+ dialog.open();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
+ */
+ public void selectionChanged(IAction action, ISelection selection) {
+
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/messages.properties b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/messages.properties
new file mode 100644
index 0000000..da06c3d
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/cpuload/messages.properties
@@ -0,0 +1,38 @@
+################################################################################
+# Copyright (c) 2009 Motorola Inc.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Initial Contributors:
+# Otavio Ferranti (Motorola)
+#
+# Contributors:
+# {Name} (company) - description of contribution.
+################################################################################
+
+# NLS_MESSAGEFORMAT_VAR
+# NLS_ENCODING=UTF-8
+
+CpuLoadView_Col_Label_Cpu=Cpu
+CpuLoadView_Col_Label_User_Mode=User
+CpuLoadView_Col_Label_Nice=Nice
+CpuLoadView_Col_Label_System=System
+CpuLoadView_Col_Label_Idle=Idle
+CpuLoadView_Col_Label_Wait=Wait
+CpuLoadView_Col_label_HIrq=HW Irq
+CpuLoadView_Col_Label_SIrq=SW Irq
+
+CpuLoadView_Action_Run=Run
+CpuLoadView_Action_Pause=Pause
+CpuLoadView_Action_Options=Options
+CpuLoadView_Action_Disconnect=Disconnect
+CpuLoadView_Action_Connect=Connect
+
+CpuLoadProcessor_Msg_Executing_the_command=Executing the command:
+CpuLoadProcessor_Msg_Got_The_Result=Got the result:
+
+OptionsDialog_Window_Title=Options
+OptionsDialog_Window_Message=Some options may take effect only after reconnection
+OptionsDialog_Label_Refresh_Rate=Refresh delay:
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapProcessor.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapProcessor.java
new file mode 100644
index 0000000..5244f3e
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapProcessor.java
@@ -0,0 +1,138 @@
+/********************************************************************************
+ * Copyright (c) 2009 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.tools.memorymap;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Scanner;
+import java.util.regex.MatchResult;
+
+import org.eclipse.sequoyah.device.common.utilities.logger.ILogger;
+import org.eclipse.sequoyah.device.linuxtools.LinuxToolsPlugin;
+import org.eclipse.sequoyah.device.linuxtools.network.IConnectionProvider;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.CommandCode;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.EventCode;
+import org.eclipse.sequoyah.device.linuxtools.tools.AbstractNotifier;
+import org.eclipse.sequoyah.device.linuxtools.tools.IListener;
+import org.eclipse.sequoyah.device.linuxtools.tools.INotifier;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class MemoryMapProcessor extends AbstractNotifier implements IListener {
+
+ final private String CMD_FETCH_IOMEM = "/proc/iomem"; //$NON-NLS-1$
+ final private String PARSE_PATTERN = "\\s*(\\w{8})-(\\w{8})\\s*:\\s*(.*)"; //$NON-NLS-1$
+
+ final private String MSG_EXECUTING_COMMAND =
+ Messages.MemoryMapProcessor_Msg_Executing_The_Command;
+
+ final private String MSG_GOT_RESULT =
+ Messages.MemoryMapProcessor_Msg_Got_The_Result;
+
+ final private int MAX_COLUMNS = 4;
+ private IConnectionProvider connectionProvider = null;
+
+ private ILogger logger = null;
+
+ /**
+ * The constructor;
+ * @param connectionProvider
+ */
+ public MemoryMapProcessor(IConnectionProvider connectionProvider) {
+ setConnectionProvider(connectionProvider);
+ logger = LinuxToolsPlugin.getLogger();
+ }
+
+ /**
+ * @throws IOException
+ */
+ public void gatherData() throws IOException {
+ connectionProvider.setResponseLength(8192);
+ connectionProvider.sendCommand(CommandCode.FETCH_FILE, this.CMD_FETCH_IOMEM);
+ logger.debug(MSG_EXECUTING_COMMAND + "\n" + this.CMD_FETCH_IOMEM); //$NON-NLS-1$
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.network.IListener#notify(org.eclipse.sequoyah.device.linuxtools.network.INotifier, org.eclipse.sequoyah.device.linuxtools.network.IConstants.EventCode, java.lang.Object)
+ */
+ public void notify(INotifier notifier,
+ EventCode event,
+ Object result) {
+ if (notifier == this.connectionProvider &&
+ event == EventCode.EVT_PROVIDER_SENDCOMMAND_FINISHED) {
+ this.connectionProvider.setResponseLength(1024);
+ Object[][] parsedResult = parseIomem((StringBuffer) result);
+ this.notifyListeners(EventCode.EVT_PROCESSOR_GATHERDATA_FINISHED,
+ parsedResult);
+ }
+ }
+
+ /**
+ * @param connectionProvider
+ */
+ public void setConnectionProvider (IConnectionProvider connectionProvider) {
+ if (null != this.connectionProvider) {
+ this.connectionProvider.removeListener(this);
+ }
+ this.connectionProvider = connectionProvider;
+ if (null != this.connectionProvider) {
+ this.connectionProvider.addListener(this);
+ }
+ }
+
+ /**
+ * @param data
+ * @return
+ */
+ private Object[][] parseIomem(StringBuffer data) {
+ logger.debug(MSG_GOT_RESULT + "\n" + data.toString());
+
+ Scanner s1 = new Scanner(data.toString());
+
+ ArrayList<String[]> list = new ArrayList<String[]>();
+
+ int j = 0;
+
+ while (s1.hasNextLine()) {
+ Scanner s2 = new Scanner(s1.nextLine());
+ s2.findInLine(PARSE_PATTERN);
+
+ String[] entry = null;
+ try {
+ MatchResult result = s2.match();
+ entry = new String[MAX_COLUMNS];
+ for (int i = 1; i <= result.groupCount() && i <= MAX_COLUMNS - 1; i++) {
+ entry[i-1] = result.group(i);
+ }
+ entry[MAX_COLUMNS - 1] = new Integer(j).toString();
+ j++;
+ } catch (IllegalStateException ise) {
+ //TODO: Nothing ?
+ }
+
+ s2.close();
+ if (null != entry) {
+ list.add(entry);
+ }
+ }
+ s1.close();
+
+ String[][] retVal = new String[list.size()][MAX_COLUMNS];
+ for (int i = 0; i < retVal.length; i++) {
+ retVal[i] = list.get(i);
+ }
+ return retVal;
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapTool.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapTool.java
new file mode 100644
index 0000000..23d58e1
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapTool.java
@@ -0,0 +1,184 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * Otavio Ferranti - Eldorado Research Institute - Bug 255255 [tml][proctools] Add extension points
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.tools.memorymap;
+
+import java.io.IOException;
+import java.util.List;
+
+import org.eclipse.sequoyah.device.linuxtools.network.IConnectionProvider;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.EventCode;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.OperationCode;
+import org.eclipse.sequoyah.device.linuxtools.tools.AbstractNotifier;
+import org.eclipse.sequoyah.device.linuxtools.tools.IListener;
+import org.eclipse.sequoyah.device.linuxtools.tools.INotifier;
+import org.eclipse.sequoyah.device.linuxtools.tools.ITool;
+import org.eclipse.sequoyah.device.linuxtools.utilities.Extensions;
+import org.eclipse.sequoyah.device.linuxtools.utilities.ProtocolDescriptor;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class MemoryMapTool extends AbstractNotifier implements IListener, ITool {
+
+ private IConnectionProvider connectionProvider = null;
+ private MemoryMapProcessor processor = null;
+
+ private String[] requiredCapabilities = {"GET_FILE"}; //$NON-NLS-1$
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.tools.memorymap.iTool#createInstance(java.lang.String, int, java.lang.String)
+ */
+ public void connect (String host,
+ int port,
+ ProtocolDescriptor protocol) {
+
+ Class<IConnectionProvider> connectionProviderClass =
+ protocol.getConnectionProviderClass();
+
+ try {
+ Object aux = connectionProviderClass.newInstance();
+ connectionProvider = (IConnectionProvider) aux;
+ } catch (InstantiationException ie) {
+ } catch (IllegalAccessException iae) {
+ } catch (ClassCastException cce) {
+ }
+
+ connectionProvider.addListener(this);
+ try {
+ connectionProvider.connect(host, port);
+ } catch (IOException ie) { }
+ processor = new MemoryMapProcessor(connectionProvider);
+
+ processor.addListener(this);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.tools.ITool#closeConnection()
+ */
+ public void disconnect() {
+ if (null != connectionProvider) {
+ try {
+ connectionProvider.disconnect();
+ } catch (IOException ie) {
+ }
+ connectionProvider = null;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.tools.memorymap.iTool#login(java.lang.String, java.lang.String)
+ */
+ public void login (String user, String password) {
+ try {
+ connectionProvider.login(user, password);
+ } catch (IOException ie) {
+ //TODO: Nothing ?
+ }
+ }
+
+ public List<ProtocolDescriptor> getProtocolsDescriptors() {
+ List <ProtocolDescriptor> pdList = Extensions.findProcotols(requiredCapabilities);
+ return pdList;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.tools.IListener#notify(org.eclipse.sequoyah.device.linuxtools.tools.INotifier, org.eclipse.sequoyah.device.linuxtools.network.IConstants.EventCode, java.lang.Object)
+ */
+ public void notify(INotifier notifier, EventCode event, Object result) {
+ try {
+ if (notifier == connectionProvider) {
+ switch (event) {
+ case EVT_PROVIDER_CONNECT_FINISHED:
+ if (OperationCode.SUCCESS == result) {
+ processor.gatherData();
+ }
+ this.notifyListeners(
+ EventCode.EVT_TOOL_CONNECT_FINISHED,
+ result);
+ break;
+ case EVT_PROVIDER_CONNECT_ERROR:
+ break;
+ case EVT_PROVIDER_LOGIN_FINISHED:
+ if (OperationCode.SUCCESS == result) {
+ processor.gatherData();
+ }
+ this.notifyListeners(
+ EventCode.EVT_TOOL_LOGIN_FINISHED,
+ result);
+ break;
+ case EVT_PROVIDER_SENDCOMMAND_FINISHED:
+ break;
+ case EVT_PROVIDER_SENDCOMMAND_ERROR:
+ break;
+ case EVT_PROVIDER_SENDDATA_FINISHED:
+ break;
+ case EVT_PROVIDER_SENDDATA_ERROR:
+ break;
+ case EVT_PROVIDER_DISCONNECT_FINISHED:
+ this.notifyListeners(
+ EventCode.EVT_TOOL_DISCONNECT_FINISHED,
+ result);
+ break;
+ }
+ }
+ if (notifier == processor) {
+ switch (event) {
+ case EVT_PROCESSOR_GATHERDATA_FINISHED:
+ notifyListeners(EventCode.EVT_TOOL_REFRESH_VIEW,
+ result);
+ break;
+ case EVT_PROCESSOR_GATHERDATA_ERROR:
+ break;
+ }
+ }
+ } catch (IOException ie) {
+ }
+ }
+
+ /**
+ *
+ */
+ public void refresh() {
+ try {
+ if (null != processor) {
+ processor.gatherData();
+ }
+ } catch (IOException ie) {
+ //TODO: Nothing ?
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.tools.ITool#getRefreshDelay()
+ */
+ public int getRefreshDelay() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.tools.ITool#setRefreshDelay(int)
+ */
+ public void setRefreshDelay(int delay) {
+ // TODO Auto-generated method stub
+ }
+
+ public void start() {
+ // TODO Auto-generated method stub
+ }
+
+ public void stop() {
+ // TODO Auto-generated method stub
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapVViewLabelProvider.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapVViewLabelProvider.java
new file mode 100644
index 0000000..66c0a17
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapVViewLabelProvider.java
@@ -0,0 +1,59 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.tools.memorymap;
+
+import org.eclipse.jface.viewers.ITableLabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.ISharedImages;
+import org.eclipse.ui.PlatformUI;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class MemoryMapVViewLabelProvider extends LabelProvider implements
+ ITableLabelProvider {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
+ */
+ public Image getColumnImage(Object obj, int index) {
+ //TODO: Enhance this.
+ if (index == 2) {
+ return getImage(((Object[]) obj)[index]);
+ } else {
+ return null;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
+ */
+ public String getColumnText(Object obj, int index) {
+ if (obj instanceof String[]) {
+ return getText(((Object[]) obj)[index]);
+ } else {
+ return new String(""); //$NON-NLS-1$
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
+ */
+ public Image getImage(Object obj) {
+ return PlatformUI.getWorkbench().
+ getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT);
+ }
+}
+
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView.java
new file mode 100644
index 0000000..6d234ce
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapView.java
@@ -0,0 +1,290 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.tools.memorymap;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerSorter;
+import org.eclipse.sequoyah.device.linuxtools.LinuxToolsPlugin;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.EventCode;
+import org.eclipse.sequoyah.device.linuxtools.network.IConstants.OperationCode;
+import org.eclipse.sequoyah.device.linuxtools.tools.IListener;
+import org.eclipse.sequoyah.device.linuxtools.tools.INotifier;
+import org.eclipse.sequoyah.device.linuxtools.tools.ITool;
+import org.eclipse.sequoyah.device.linuxtools.ui.DialogLogin;
+import org.eclipse.sequoyah.device.linuxtools.ui.IToolViewPart;
+import org.eclipse.sequoyah.device.linuxtools.ui.ViewActionConnect;
+import org.eclipse.sequoyah.device.linuxtools.ui.ViewActionDisconnect;
+import org.eclipse.sequoyah.device.linuxtools.ui.ViewActionRefresh;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IViewActionDelegate;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.part.ViewPart;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class MemoryMapView extends ViewPart implements IToolViewPart, IListener {
+
+ private class AddressSorter extends ViewerSorter {
+
+ public int compare(Viewer viewer, Object e1, Object e2) {
+ int result = 0;
+ try {
+ int a = new Integer(((String[]) e1)[MAX_COLUMNS - 1]).intValue();
+ int b = new Integer(((String[]) e2)[MAX_COLUMNS - 1]).intValue();
+ if (a > b) {
+ result = 1;
+ } else if (a < b) {
+ result = -1;
+ };
+ }
+ catch (NumberFormatException nfe) {
+ //TODO: Nothing ?
+ }
+ return result;
+ }
+ }
+ final private String COL_LABEL_ADDRESS_START = Messages.MemoryMapView_Col_Label_Address_Start;
+ final private String COL_LABEL_ADDRESS_END = Messages.MemoryMapView_Col_Label_Address_End;
+ final private String COL_LABEL_REGION = Messages.MemoryMapView_Col_label_Region;
+
+ final private int MAX_COLUMNS = 4;
+
+ private ITool tool = null;
+ private TableViewer viewer;
+
+ private Action refreshAction;
+ private Action disconnectAction;
+ private Action connectAction;
+
+ private IPartListener partActivationListener = new IPartListener() {
+ public void partActivated(IWorkbenchPart part) {
+ }
+
+ public void partBroughtToTop(IWorkbenchPart part) {
+ }
+
+ public void partClosed(IWorkbenchPart part) {
+ if (MemoryMapView.this.getSite().getPart() == part) {
+ ITool tool = MemoryMapView.this.getTool();
+ if (null != tool) {
+ tool.disconnect();
+ }
+ }
+ }
+
+ public void partDeactivated(IWorkbenchPart part) {
+ }
+
+ public void partOpened(IWorkbenchPart part) {
+ }
+ };
+
+ /**
+ * The constructor.
+ */
+ public MemoryMapView() {
+ }
+
+ /**
+ * This is a callback that will allow us
+ * to create the viewer and initialize it.
+ */
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
+ */
+ public void createPartControl(Composite parent) {
+
+ viewer = new TableViewer(parent, SWT.FULL_SELECTION |
+ SWT.H_SCROLL | SWT.V_SCROLL);
+ viewer.setContentProvider(new MemoryMapViewContentProvider());
+ viewer.setLabelProvider(new MemoryMapVViewLabelProvider());
+ viewer.setSorter(new AddressSorter());
+
+ Table table = viewer.getTable();
+ table.setHeaderVisible(true);
+
+ new TableColumn(table, SWT.LEFT).setText(COL_LABEL_ADDRESS_START);
+ new TableColumn(table, SWT.LEFT).setText(COL_LABEL_ADDRESS_END);
+ new TableColumn(table, SWT.LEFT).setText(COL_LABEL_REGION);
+
+ refresh();
+ resize();
+
+ makeActions();
+ // hookDoubleClickAction();
+ addToToolBar();
+
+ getViewSite()
+ .getWorkbenchWindow()
+ .getPartService()
+ .addPartListener(partActivationListener);
+
+ setConnectEnabled(true);
+ refreshAction.setEnabled(false);
+ }
+
+ private void addToToolBar() {
+ IActionBars actionBars = getViewSite().getActionBars();
+ IToolBarManager toolBarMmanager = actionBars.getToolBarManager();
+ toolBarMmanager.add(refreshAction);
+ toolBarMmanager.add(disconnectAction);
+ toolBarMmanager.add(connectAction);
+ }
+
+ private void makeActions() {
+
+ refreshAction = new Action() {
+ public void run() {
+ IViewActionDelegate delegate = new ViewActionRefresh();
+ delegate.init(MemoryMapView.this);
+ delegate.run(this);
+ this.setEnabled(false);
+ }
+ };
+ refreshAction.setToolTipText(Messages.MemoryMapView_Action_Refresh);
+ refreshAction.setImageDescriptor(
+ LinuxToolsPlugin.getDefault().getImageDescriptor(LinuxToolsPlugin.ICON_REFRESH));
+
+ disconnectAction = new Action() {
+ public void run() {
+ IViewActionDelegate delegate = new ViewActionDisconnect();
+ delegate.init(MemoryMapView.this);
+ delegate.run(this);
+ }
+ };
+ disconnectAction.setToolTipText(Messages.MemoryMapView_Action_Disconnect);
+ disconnectAction.setImageDescriptor(
+ LinuxToolsPlugin.getDefault().getImageDescriptor(LinuxToolsPlugin.ICON_DISCONNECT));
+
+ connectAction = new Action() {
+ public void run() {
+ IViewActionDelegate delegate = new ViewActionConnect();
+ delegate.init(MemoryMapView.this);
+ delegate.run(this);
+ }
+ };
+ connectAction.setToolTipText(Messages.MemoryMapView_Action_Connect);
+ connectAction.setImageDescriptor(
+ LinuxToolsPlugin.getDefault().getImageDescriptor(LinuxToolsPlugin.ICON_CONNECT));
+
+ }
+
+ private void setConnectEnabled(boolean bool) {
+ connectAction.setEnabled(bool);
+ disconnectAction.setEnabled(!bool);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.ui.IToolView#getTool()
+ */
+ public ITool getTool() {
+ if(null == tool) {
+ tool = new MemoryMapTool();
+ tool.addListener(this);
+ }
+ return tool;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.sequoyah.device.linuxtools.network.IListener#notify(org.eclipse.sequoyah.device.linuxtools.network.INotifier, org.eclipse.sequoyah.device.linuxtools.network.IConstants.EventCode, java.lang.Object)
+ */
+ public void notify(INotifier notifier, EventCode event, Object result) {
+ if (notifier == tool) {
+ final Object finalResult = result;
+ final EventCode finalEvent = event;
+ final ViewPart finalView = this;
+ final ITool finalTool = this.tool;
+
+ this.getViewSite().getShell().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ switch(finalEvent) {
+ case EVT_TOOL_REFRESH_VIEW:
+ viewer.setInput(finalResult);
+ refreshAction.setEnabled(true);
+ refresh();
+ resize();
+ break;
+ case EVT_TOOL_CONNECT_FINISHED:
+ case EVT_TOOL_LOGIN_FINISHED:
+ switch ((OperationCode)finalResult) {
+ case SUCCESS:
+ setConnectEnabled(false);
+ refreshAction.setEnabled(true);
+ break;
+ case LOGIN_REQUIRED: {
+ final DialogLogin dialog = new DialogLogin(
+ finalView.getViewSite().getShell(),
+ finalTool, false);
+ dialog.open();
+ }
+ break;
+ case LOGIN_FAILED: {
+ final DialogLogin dialog = new DialogLogin(
+ finalView.getViewSite().getShell(),
+ finalTool, true);
+ dialog.open();
+ }
+ break;
+ }
+ break;
+ case EVT_TOOL_DISCONNECT_FINISHED:
+ setConnectEnabled(true);
+ refreshAction.setEnabled(false);
+ break;
+ }
+ }
+ });
+ }
+ }
+
+ /**
+ *
+ */
+ public void refresh() {
+ viewer.refresh();
+ }
+
+ /**
+ *
+ */
+ public void resize() {
+ Table table = viewer.getTable();
+ for (int i = 0, n = table.getColumnCount(); i < n; i++) {
+ table.getColumn(i).pack();
+ }
+ }
+
+ /**
+ * @param data
+ */
+ public void setData (Object data) {
+ viewer.setInput(data);
+ }
+
+ /**
+ * Passing the focus request to the viewer's control.
+ */
+ public void setFocus() {
+ viewer.getControl().setFocus();
+ }
+} \ No newline at end of file
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapViewContentProvider.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapViewContentProvider.java
new file mode 100644
index 0000000..3e396fc
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/MemoryMapViewContentProvider.java
@@ -0,0 +1,60 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.tools.memorymap;
+
+import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+
+/*
+ * The content provider class is responsible for
+ * providing objects to the view. It can wrap
+ * existing objects in adapters or simply return
+ * objects as-is. These objects may be sensitive
+ * to the current input of the view, or ignore
+ * it and always show the same content
+ * (like Task List, for example).
+ */
+
+/**
+ * @author Otavio Ferranti
+ */
+public class MemoryMapViewContentProvider implements IStructuredContentProvider {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
+ */
+ public void inputChanged(Viewer v, Object oldInput, Object newInput) {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.IContentProvider#dispose()
+ */
+ public void dispose() {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
+ */
+ public Object[] getElements(Object parent) {
+ if (parent instanceof String[][]) {
+ return (String[][]) parent;
+ } else {
+ String[][] aux = new String[1][];
+ aux[0] = new String[] {"", //$NON-NLS-1$
+ "", //$NON-NLS-1$
+ ""}; //$NON-NLS-1$
+ return aux;
+ }
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/Messages.java b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/Messages.java
new file mode 100644
index 0000000..c7155dd
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/Messages.java
@@ -0,0 +1,40 @@
+/********************************************************************************
+ * Copyright (c) 2008 Motorola Inc. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Initial Contributor:
+ * Otavio Ferranti (Motorola)
+ *
+ * Contributors:
+ * {Name} (company) - description of contribution.
+ ********************************************************************************/
+
+package org.eclipse.sequoyah.device.linuxtools.tools.memorymap;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * @author Otavio Ferranti
+ */
+public class Messages extends NLS {
+ private static final String BUNDLE_NAME =
+ "org.eclipse.sequoyah.device.linuxtools.tools.memorymap.messages"; //$NON-NLS-1$
+
+ public static String MemoryMapProcessor_Msg_Executing_The_Command;
+ public static String MemoryMapProcessor_Msg_Got_The_Result;
+ public static String MemoryMapView_Action_Refresh;
+ public static String MemoryMapView_Action_Disconnect;
+ public static String MemoryMapView_Action_Connect;
+ public static String MemoryMapView_Col_Label_Address_End;
+ public static String MemoryMapView_Col_Label_Address_Start;
+ public static String MemoryMapView_Col_label_Region;
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ }
+}
diff --git a/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/messages.properties b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/messages.properties
new file mode 100644
index 0000000..b242a04
--- /dev/null
+++ b/proctools/plugins/org.eclipse.sequoyah.device.linuxtools/src/org/eclipse/sequoyah/device/linuxtools/tools/memorymap/messages.properties
@@ -0,0 +1,27 @@
+################################################################################
+# Copyright (c) 2009 Motorola Inc.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Initial Contributors:
+# Otavio Ferranti (Motorola)
+#
+# Contributors:
+# {Name} (company) - description of contribution.
+################################################################################
+
+# NLS_MESSAGEFORMAT_VAR
+# NLS_ENCODING=UTF-8
+
+MemoryMapView_Col_Label_Address_Start=Start
+MemoryMapView_Col_Label_Address_End=End
+MemoryMapView_Col_label_Region=Region name
+
+MemoryMapView_Action_Refresh=Refresh
+MemoryMapView_Action_Disconnect=Disconnect
+MemoryMapView_Action_Connect=Connect
+
+MemoryMapProcessor_Msg_Executing_The_Command=Executing the command:
+MemoryMapProcessor_Msg_Got_The_Result=Got the result: