~ubuntu-branches/ubuntu/wily/eclipse-linuxtools/wily

« back to all changes in this revision

Viewing changes to proctools/org.eclipse.linuxtools.sequoyah.device/src/org/eclipse/linuxtools/sequoyah/device/tools/memorymap/MemoryMapTool.java

  • Committer: Package Import Robot
  • Author(s): Jakub Adam, Jakub Adam, tony mancill
  • Date: 2014-10-11 11:44:05 UTC
  • mfrom: (1.2.4)
  • Revision ID: package-import@ubuntu.com-20141011114405-yazjvxfzzhmi5sgj
Tags: 3.1.0-1
[ Jakub Adam ]
* New upstream release (Closes: #761524).
* Refreshed d/patches.
* Don't build removed feature org.eclipse.linuxtools.tools.launch
  - merged into org.eclipse.linuxtools.profiling.
* Use javac target 1.7.
* Build new feature org.eclipse.linuxtools.dataviewers.feature
  - required by Valgrind integration.
* Build-depend on eclipse-remote-services-api and eclipse-cdt-autotools.
* Bump Standards-Version to 3.9.6.
* Override incompatible-java-bytecode-format - linuxtools needs Java 7.
* Remove unused codeless-jar override.

[ tony mancill ]
* Tweak short package description to make lintian happy.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/********************************************************************************
2
 
 * Copyright (c) 2008 Motorola Inc. All rights reserved.
3
 
 * This program and the accompanying materials are made available under the terms
4
 
 * of the Eclipse Public License v1.0 which accompanies this distribution, and is
5
 
 * available at http://www.eclipse.org/legal/epl-v10.html
6
 
 *
7
 
 * Initial Contributor:
8
 
 * Otavio Ferranti (Motorola)
9
 
 *
10
 
 * Contributors:
11
 
 * Otavio Ferranti - Eldorado Research Institute - Bug 255255 [tml][proctools] Add extension points 
12
 
 ********************************************************************************/
13
 
 
14
 
package org.eclipse.linuxtools.sequoyah.device.tools.memorymap;
15
 
 
16
 
import java.io.IOException;
17
 
import java.util.List;
18
 
 
19
 
import org.eclipse.linuxtools.sequoyah.device.network.IConnectionProvider;
20
 
import org.eclipse.linuxtools.sequoyah.device.network.IConstants.EventCode;
21
 
import org.eclipse.linuxtools.sequoyah.device.network.IConstants.OperationCode;
22
 
import org.eclipse.linuxtools.sequoyah.device.tools.AbstractNotifier;
23
 
import org.eclipse.linuxtools.sequoyah.device.tools.IListener;
24
 
import org.eclipse.linuxtools.sequoyah.device.tools.INotifier;
25
 
import org.eclipse.linuxtools.sequoyah.device.tools.ITool;
26
 
import org.eclipse.linuxtools.sequoyah.device.utilities.Extensions;
27
 
import org.eclipse.linuxtools.sequoyah.device.utilities.ProtocolDescriptor;
28
 
 
29
 
/**
30
 
 * @author Otavio Ferranti
31
 
 */
32
 
public class MemoryMapTool extends AbstractNotifier implements IListener, ITool {
33
 
 
34
 
        private IConnectionProvider connectionProvider = null;
35
 
        private MemoryMapProcessor processor = null;
36
 
 
37
 
        private String[] requiredCapabilities = {"GET_FILE"}; //$NON-NLS-1$
38
 
        
39
 
        /* (non-Javadoc)
40
 
         * @see org.eclipse.linuxtools.sequoyah.device.tools.memorymap.iTool#createInstance(java.lang.String, int, java.lang.String)
41
 
         */
42
 
        public void connect (String host,
43
 
                                                                int port,
44
 
                                                                ProtocolDescriptor protocol) {
45
 
        
46
 
                Class<IConnectionProvider> connectionProviderClass =
47
 
                        protocol.getConnectionProviderClass();
48
 
 
49
 
                try {
50
 
                        Object aux = connectionProviderClass.newInstance();
51
 
                        connectionProvider = (IConnectionProvider) aux;
52
 
                } catch (InstantiationException ie) {
53
 
                } catch (IllegalAccessException iae) {
54
 
                } catch (ClassCastException cce) {
55
 
                }
56
 
        
57
 
                connectionProvider.addListener(this);
58
 
                try {
59
 
                        connectionProvider.connect(host, port);
60
 
                } catch (IOException ie) { }
61
 
                processor = new MemoryMapProcessor(connectionProvider);
62
 
 
63
 
                processor.addListener(this);
64
 
        }
65
 
 
66
 
        /* (non-Javadoc)
67
 
         * @see org.eclipse.linuxtools.sequoyah.device.tools.ITool#closeConnection()
68
 
         */
69
 
        public void disconnect() {
70
 
                if (null != connectionProvider) {
71
 
                        try {
72
 
                                connectionProvider.disconnect();
73
 
                        } catch (IOException ie) {
74
 
                        }
75
 
                        connectionProvider = null;
76
 
                }
77
 
        }
78
 
        
79
 
        /* (non-Javadoc)
80
 
         * @see org.eclipse.linuxtools.sequoyah.device.tools.memorymap.iTool#login(java.lang.String, java.lang.String)
81
 
         */
82
 
        public void login (String user, String password) {
83
 
                try {
84
 
                        connectionProvider.login(user, password);
85
 
                } catch (IOException ie) {
86
 
                        //TODO: Nothing ?
87
 
                }
88
 
        }
89
 
        
90
 
        public List<ProtocolDescriptor> getProtocolsDescriptors() {
91
 
                List <ProtocolDescriptor> pdList = Extensions.findProcotols(requiredCapabilities);
92
 
                return pdList;
93
 
        }
94
 
        
95
 
        /* (non-Javadoc)
96
 
         * @see org.eclipse.linuxtools.sequoyah.device.tools.IListener#notify(org.eclipse.linuxtools.sequoyah.device.tools.INotifier, org.eclipse.linuxtools.sequoyah.device.network.IConstants.EventCode, java.lang.Object)
97
 
         */
98
 
        public void notify(INotifier notifier, EventCode event, Object result) {
99
 
                try {
100
 
                        if (notifier == connectionProvider) {
101
 
                                switch (event) {
102
 
                                        case EVT_PROVIDER_CONNECT_FINISHED:
103
 
                                                if (OperationCode.SUCCESS == result) {
104
 
                                                        processor.gatherData();
105
 
                                                }
106
 
                                                this.notifyListeners(
107
 
                                                                EventCode.EVT_TOOL_CONNECT_FINISHED,
108
 
                                                                result);
109
 
                                        break;
110
 
                                        case EVT_PROVIDER_CONNECT_ERROR:
111
 
                                        break;
112
 
                                        case EVT_PROVIDER_LOGIN_FINISHED:
113
 
                                                if (OperationCode.SUCCESS == result) {
114
 
                                                        processor.gatherData();
115
 
                                                }
116
 
                                                this.notifyListeners(
117
 
                                                                EventCode.EVT_TOOL_LOGIN_FINISHED,
118
 
                                                                result);
119
 
                                        break;
120
 
                                        case EVT_PROVIDER_SENDCOMMAND_FINISHED:
121
 
                                        break;
122
 
                                        case EVT_PROVIDER_SENDCOMMAND_ERROR:
123
 
                                        break;
124
 
                                        case EVT_PROVIDER_SENDDATA_FINISHED:
125
 
                                        break;
126
 
                                        case EVT_PROVIDER_SENDDATA_ERROR:
127
 
                                        break;
128
 
                                        case EVT_PROVIDER_DISCONNECT_FINISHED:
129
 
                                                this.notifyListeners(
130
 
                                                                EventCode.EVT_TOOL_DISCONNECT_FINISHED,
131
 
                                                                result);
132
 
                                        break;  
133
 
                                }
134
 
                        }
135
 
                        if (notifier == processor) {
136
 
                                switch (event) {
137
 
                                        case EVT_PROCESSOR_GATHERDATA_FINISHED:
138
 
                                                notifyListeners(EventCode.EVT_TOOL_REFRESH_VIEW,
139
 
                                                                                result);
140
 
                                        break;
141
 
                                        case EVT_PROCESSOR_GATHERDATA_ERROR:
142
 
                                        break;
143
 
                                }
144
 
                        }
145
 
                } catch (IOException ie) {
146
 
                }
147
 
        }
148
 
 
149
 
        /**
150
 
         * 
151
 
         */
152
 
        public void refresh() {
153
 
                try {
154
 
                        if (null != processor) {
155
 
                                processor.gatherData();
156
 
                        }
157
 
                } catch (IOException ie) {
158
 
                        //TODO: Nothing ?
159
 
                }
160
 
        }
161
 
 
162
 
        /* (non-Javadoc)
163
 
         * @see org.eclipse.linuxtools.sequoyah.device.tools.ITool#getRefreshDelay()
164
 
         */
165
 
        public int getRefreshDelay() {
166
 
                // TODO Auto-generated method stub
167
 
                return 0;
168
 
        }
169
 
        
170
 
        /* (non-Javadoc)
171
 
         * @see org.eclipse.linuxtools.sequoyah.device.tools.ITool#setRefreshDelay(int)
172
 
         */
173
 
        public void setRefreshDelay(int delay) {
174
 
                // TODO Auto-generated method stub
175
 
        }
176
 
 
177
 
        public void start() {
178
 
                // TODO Auto-generated method stub
179
 
        }
180
 
 
181
 
        public void stop() {
182
 
                // TODO Auto-generated method stub
183
 
        }
184
 
}