upload plugins for Event Injector part
authorsungmin82.ha <sungmin82.ha@samsung.com>
Fri, 3 Jun 2011 10:16:42 +0000 (19:16 +0900)
committersungmin82.ha <sungmin82.ha@samsung.com>
Fri, 3 Jun 2011 10:16:42 +0000 (19:16 +0900)
403 files changed:
com.samsung.linuxplatform.injector/.classpath [new file with mode: 0644]
com.samsung.linuxplatform.injector/.project [new file with mode: 0644]
com.samsung.linuxplatform.injector/.settings/org.eclipse.core.resources.prefs [new file with mode: 0644]
com.samsung.linuxplatform.injector/.settings/org.eclipse.core.runtime.prefs [new file with mode: 0644]
com.samsung.linuxplatform.injector/META-INF/MANIFEST.MF [new file with mode: 0644]
com.samsung.linuxplatform.injector/OSGI-INF/l10n/bundle.properties [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/DebugLog.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/Injector.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/AbstractGA.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/AbstractItem.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/ByteArrayItem.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/IntItem.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/InvalidTypeException.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/ItemType.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/StructureGA.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/sensor/AbstractSenserMessage.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/sensor/TestSensorMessage.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/provider/AbstractInjectorItem$1.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/provider/AbstractInjectorItem.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/provider/AbstractInjectorPage.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/receiver/AbstractInjectorReceiver.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/LocationSocket.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/SensorTCPSocket.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/SensorUDPSocket.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/TelephonySocket$Receiver$1.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/TelephonySocket$Receiver.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/TelephonySocket.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/sourceProvider/InjectorStateProvider.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/ByteUtil.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$1.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$2.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$3.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$4.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$5.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/StringUtil.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/InjectorView$1.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/InjectorView$2.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/InjectorView.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/Messages.class [new file with mode: 0644]
com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.injector/build.properties [new file with mode: 0644]
com.samsung.linuxplatform.injector/build.xml [new file with mode: 0644]
com.samsung.linuxplatform.injector/icons/connect.png [new file with mode: 0644]
com.samsung.linuxplatform.injector/icons/disconnect.png [new file with mode: 0644]
com.samsung.linuxplatform.injector/icons/injector_view.png [new file with mode: 0644]
com.samsung.linuxplatform.injector/javaCompiler...args [new file with mode: 0644]
com.samsung.linuxplatform.injector/plugin.xml [new file with mode: 0644]
com.samsung.linuxplatform.injector/schema/injectorItemProvider.exsd [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/DebugLog.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/Injector.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/AbstractGA.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/AbstractItem.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/ByteArrayItem.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/IntItem.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/InvalidTypeException.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/ItemType.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/StructureGA.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/sensor/AbstractSenserMessage.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/sensor/TestSensorMessage.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/provider/AbstractInjectorItem.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/provider/AbstractInjectorPage.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/receiver/AbstractInjectorReceiver.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/socket/LocationSocket.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/socket/SensorTCPSocket.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/socket/SensorUDPSocket.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/socket/TelephonySocket.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/sourceProvider/InjectorStateProvider.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/util/ByteUtil.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/util/FormPageUtil.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/util/StringUtil.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/view/InjectorView.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/view/Messages.java [new file with mode: 0644]
com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/view/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.core/.classpath [new file with mode: 0644]
com.samsung.linuxplatform.location.core/.project [new file with mode: 0644]
com.samsung.linuxplatform.location.core/.settings/org.eclipse.core.resources.prefs [new file with mode: 0644]
com.samsung.linuxplatform.location.core/.settings/org.eclipse.core.runtime.prefs [new file with mode: 0644]
com.samsung.linuxplatform.location.core/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
com.samsung.linuxplatform.location.core/META-INF/MANIFEST.MF [new file with mode: 0644]
com.samsung.linuxplatform.location.core/OSGI-INF/l10n/bundle.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/injector/DebugLog.class [new file with mode: 0644]
com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/injector/LocationInjector.class [new file with mode: 0644]
com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/model/GeoLocationVO.class [new file with mode: 0644]
com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/AbstractNMEA0183.class [new file with mode: 0644]
com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/GeoLocation$Directions.class [new file with mode: 0644]
com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/GeoLocation.class [new file with mode: 0644]
com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/IdentifiersConstants.class [new file with mode: 0644]
com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/Messages.class [new file with mode: 0644]
com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGGA.class [new file with mode: 0644]
com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGSA.class [new file with mode: 0644]
com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGSV.class [new file with mode: 0644]
com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPRMC.class [new file with mode: 0644]
com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/SatelliteInfo.class [new file with mode: 0644]
com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.core/build.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.core/build.xml [new file with mode: 0644]
com.samsung.linuxplatform.location.core/javaCompiler...args [new file with mode: 0644]
com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/injector/DebugLog.java [new file with mode: 0644]
com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/injector/LocationInjector.java [new file with mode: 0644]
com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/model/GeoLocationVO.java [new file with mode: 0644]
com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/AbstractNMEA0183.java [new file with mode: 0644]
com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/GeoLocation.java [new file with mode: 0644]
com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/IdentifiersConstants.java [new file with mode: 0644]
com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/Messages.java [new file with mode: 0644]
com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGGA.java [new file with mode: 0644]
com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGSA.java [new file with mode: 0644]
com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGSV.java [new file with mode: 0644]
com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPRMC.java [new file with mode: 0644]
com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/SatelliteInfo.java [new file with mode: 0644]
com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.log/.classpath [new file with mode: 0644]
com.samsung.linuxplatform.location.log/.project [new file with mode: 0644]
com.samsung.linuxplatform.location.log/.settings/org.eclipse.core.resources.prefs [new file with mode: 0644]
com.samsung.linuxplatform.location.log/.settings/org.eclipse.core.runtime.prefs [new file with mode: 0644]
com.samsung.linuxplatform.location.log/META-INF/MANIFEST.MF [new file with mode: 0644]
com.samsung.linuxplatform.location.log/OSGI-INF/l10n/bundle.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/Log.class [new file with mode: 0644]
com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/Messages.class [new file with mode: 0644]
com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$1.class [new file with mode: 0644]
com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$2$1.class [new file with mode: 0644]
com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$2$2.class [new file with mode: 0644]
com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$2.class [new file with mode: 0644]
com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$3.class [new file with mode: 0644]
com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile.class [new file with mode: 0644]
com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/Messages.class [new file with mode: 0644]
com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.log/build.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.log/build.xml [new file with mode: 0644]
com.samsung.linuxplatform.location.log/javaCompiler...args [new file with mode: 0644]
com.samsung.linuxplatform.location.log/plugin.xml [new file with mode: 0644]
com.samsung.linuxplatform.location.log/src/com/samsung/linuxplatform/location/log/Log.java [new file with mode: 0644]
com.samsung.linuxplatform.location.log/src/com/samsung/linuxplatform/location/log/Messages.java [new file with mode: 0644]
com.samsung.linuxplatform.location.log/src/com/samsung/linuxplatform/location/log/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.log/src/com/samsung/linuxplatform/location/log/page/LogFile.java [new file with mode: 0644]
com.samsung.linuxplatform.location.log/src/com/samsung/linuxplatform/location/log/page/Messages.java [new file with mode: 0644]
com.samsung.linuxplatform.location.log/src/com/samsung/linuxplatform/location/log/page/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/.classpath [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/.project [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/.settings/org.eclipse.core.resources.prefs [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/.settings/org.eclipse.core.runtime.prefs [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/META-INF/MANIFEST.MF [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/OSGI-INF/l10n/bundle.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/Manual.class [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/Messages.class [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$1.class [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$2.class [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$3$1.class [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$3$2.class [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$3.class [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$4.class [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate.class [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Messages.class [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/build.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/build.xml [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/javaCompiler...args [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/plugin.xml [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/src/com/samsung/linuxplatform/location/manual/Manual.java [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/src/com/samsung/linuxplatform/location/manual/Messages.java [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/src/com/samsung/linuxplatform/location/manual/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/src/com/samsung/linuxplatform/location/manual/page/Coordinate.java [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/src/com/samsung/linuxplatform/location/manual/page/Messages.java [new file with mode: 0644]
com.samsung.linuxplatform.location.manual/src/com/samsung/linuxplatform/location/manual/page/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.map/.classpath [new file with mode: 0644]
com.samsung.linuxplatform.location.map/.project [new file with mode: 0644]
com.samsung.linuxplatform.location.map/.settings/org.eclipse.core.resources.prefs [new file with mode: 0644]
com.samsung.linuxplatform.location.map/.settings/org.eclipse.core.runtime.prefs [new file with mode: 0644]
com.samsung.linuxplatform.location.map/META-INF/MANIFEST.MF [new file with mode: 0644]
com.samsung.linuxplatform.location.map/OSGI-INF/l10n/bundle.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/Map.class [new file with mode: 0644]
com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/Messages.class [new file with mode: 0644]
com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$1.class [new file with mode: 0644]
com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$2$1$1.class [new file with mode: 0644]
com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$2$1.class [new file with mode: 0644]
com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$2.class [new file with mode: 0644]
com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$3$1.class [new file with mode: 0644]
com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$3$2.class [new file with mode: 0644]
com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$3.class [new file with mode: 0644]
com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$4.class [new file with mode: 0644]
com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$5.class [new file with mode: 0644]
com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage.class [new file with mode: 0644]
com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/Messages.class [new file with mode: 0644]
com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.map/build.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.map/build.xml [new file with mode: 0644]
com.samsung.linuxplatform.location.map/html/googleMap.html [new file with mode: 0644]
com.samsung.linuxplatform.location.map/javaCompiler...args [new file with mode: 0644]
com.samsung.linuxplatform.location.map/plugin.xml [new file with mode: 0644]
com.samsung.linuxplatform.location.map/src/com/samsung/linuxplatform/location/map/Map.java [new file with mode: 0644]
com.samsung.linuxplatform.location.map/src/com/samsung/linuxplatform/location/map/Messages.java [new file with mode: 0644]
com.samsung.linuxplatform.location.map/src/com/samsung/linuxplatform/location/map/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.location.map/src/com/samsung/linuxplatform/location/map/page/MapImage.java [new file with mode: 0644]
com.samsung.linuxplatform.location.map/src/com/samsung/linuxplatform/location/map/page/Messages.java [new file with mode: 0644]
com.samsung.linuxplatform.location.map/src/com/samsung/linuxplatform/location/map/page/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/.classpath [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/.project [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/.settings/org.eclipse.core.runtime.prefs [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/META-INF/MANIFEST.MF [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/DebugLog.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/Sensor.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$1.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$10.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$11.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$12.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$13.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$14.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$15.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$16.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$17.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$18.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$19.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$2.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$20.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$21.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$22.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$23.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$3.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$4$1.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$4.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$5.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$6.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$7.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$8.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$9.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$Mode.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$1.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$2.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$3.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$4.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$5.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Vector.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/MobilePanel$1.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/MobilePanel$2.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/MobilePanel.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorServer.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorServerThread.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorSimulator$1.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorSimulator.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/TestPage.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/magnetic/Magnetic.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/build.properties [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/build.xml [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/javaCompiler...args [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/plugin.xml [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/DebugLog.java [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/Sensor.java [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer.java [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel.java [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/Vector.java [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/test/MobilePanel.java [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorServer.java [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorServerThread.java [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorSimulator.java [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/test/TestPage.java [new file with mode: 0644]
com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/magnetic/Magnetic.java [new file with mode: 0644]
com.samsung.linuxplatform.sensor.light/.classpath [new file with mode: 0644]
com.samsung.linuxplatform.sensor.light/.project [new file with mode: 0644]
com.samsung.linuxplatform.sensor.light/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
com.samsung.linuxplatform.sensor.light/META-INF/MANIFEST.MF [new file with mode: 0644]
com.samsung.linuxplatform.sensor.light/bin/com/samsung/linuxplatform/sensor/light/Light.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.light/bin/com/samsung/linuxplatform/sensor/light/page/LightPage$1.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.light/bin/com/samsung/linuxplatform/sensor/light/page/LightPage$2.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.light/bin/com/samsung/linuxplatform/sensor/light/page/LightPage.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.light/build.properties [new file with mode: 0644]
com.samsung.linuxplatform.sensor.light/plugin.xml [new file with mode: 0644]
com.samsung.linuxplatform.sensor.light/src/com/samsung/linuxplatform/sensor/light/Light.java [new file with mode: 0644]
com.samsung.linuxplatform.sensor.light/src/com/samsung/linuxplatform/sensor/light/page/LightPage.java [new file with mode: 0644]
com.samsung.linuxplatform.sensor.proximity/.classpath [new file with mode: 0644]
com.samsung.linuxplatform.sensor.proximity/.project [new file with mode: 0644]
com.samsung.linuxplatform.sensor.proximity/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
com.samsung.linuxplatform.sensor.proximity/META-INF/MANIFEST.MF [new file with mode: 0644]
com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/Proximity.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/page/ProximityConstants.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/page/ProximityPage$1.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/page/ProximityPage$2.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/page/ProximityPage.class [new file with mode: 0644]
com.samsung.linuxplatform.sensor.proximity/build.properties [new file with mode: 0644]
com.samsung.linuxplatform.sensor.proximity/plugin.xml [new file with mode: 0644]
com.samsung.linuxplatform.sensor.proximity/src/com/samsung/linuxplatform/sensor/proximity/Proximity.java [new file with mode: 0644]
com.samsung.linuxplatform.sensor.proximity/src/com/samsung/linuxplatform/sensor/proximity/page/ProximityConstants.java [new file with mode: 0644]
com.samsung.linuxplatform.sensor.proximity/src/com/samsung/linuxplatform/sensor/proximity/page/ProximityPage.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/.classpath [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/.project [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/.settings/org.eclipse.core.resources.prefs [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/.settings/org.eclipse.core.runtime.prefs [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/META-INF/MANIFEST.MF [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/TelephonyCall.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/model/CallListVO.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$1.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$2.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$3.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$4.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$CallList22Receiver.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$CallList26Receiver.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$CallList29Receiver.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$CallReceiver.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty$1.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty$2.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty$3.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty$4.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A07.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A21MO.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A21MT.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A22.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A22End.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A23.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A26.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A29.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A62.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G03A58.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G03A59.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G0DA09.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G0DA0B.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/resource/ErrorCode.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/build.properties [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/build.xml [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/icons/telephony_view.png [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/javaCompiler...args [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/plugin.xml [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/TelephonyCall.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/model/CallListVO.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/page/MOMTCall.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/page/RemoteParty.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A07.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A21MO.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A21MT.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A22.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A22End.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A23.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A26.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A29.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A62.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G03A58.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G03A59.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G0DA09.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G0DA0B.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/resource/ErrorCode.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/.classpath [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/.project [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/.settings/org.eclipse.core.resources.prefs [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/.settings/org.eclipse.core.runtime.prefs [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/META-INF/MANIFEST.MF [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/OSGI-INF/l10n/bundle.properties [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/Messages.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/TelephonySMS.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/DecodeMsg.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/EncodeMsg.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/EnumConstants.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/Messages.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/SmsAddressInfo.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TPDU_SMS_DELIVER.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TPDU_SMS_SUBMIT.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TapiNetTextCodingScheme.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TapiNetTextVP.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TmDateTime.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/CellBroadcasting$1.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/CellBroadcasting.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/Messages.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS$1.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS$2.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS$3.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS$SimDBReceiver.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/protocol/G04A01.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/protocol/G04A05.class [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/build.properties [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/build.xml [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/icons/telephony_view.png [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/javaCompiler...args [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/plugin.xml [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/Messages.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/TelephonySMS.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/DecodeMsg.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/EncodeMsg.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/EnumConstants.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/Messages.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/SmsAddressInfo.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/TPDU_SMS_DELIVER.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/TPDU_SMS_SUBMIT.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/TapiNetTextCodingScheme.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/TapiNetTextVP.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/TmDateTime.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/page/CellBroadcasting.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/page/Messages.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/page/SMS.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/page/messages.properties [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/protocol/G04A01.java [new file with mode: 0644]
com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/protocol/G04A05.java [new file with mode: 0644]
tmp [deleted file]

diff --git a/com.samsung.linuxplatform.injector/.classpath b/com.samsung.linuxplatform.injector/.classpath
new file mode 100644 (file)
index 0000000..ad32c83
--- /dev/null
@@ -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/JavaSE-1.6"/>
+       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+       <classpathentry kind="src" path="src"/>
+       <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/com.samsung.linuxplatform.injector/.project b/com.samsung.linuxplatform.injector/.project
new file mode 100644 (file)
index 0000000..ccf0152
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>com.samsung.linuxplatform.injector</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/com.samsung.linuxplatform.injector/.settings/org.eclipse.core.resources.prefs b/com.samsung.linuxplatform.injector/.settings/org.eclipse.core.resources.prefs
new file mode 100644 (file)
index 0000000..1319378
--- /dev/null
@@ -0,0 +1,3 @@
+#Wed Dec 01 09:07:09 CET 2010
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/com.samsung.linuxplatform.injector/.settings/org.eclipse.core.runtime.prefs b/com.samsung.linuxplatform.injector/.settings/org.eclipse.core.runtime.prefs
new file mode 100644 (file)
index 0000000..25618a5
--- /dev/null
@@ -0,0 +1,3 @@
+#Tue Dec 14 16:28:54 CET 2010
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/com.samsung.linuxplatform.injector/META-INF/MANIFEST.MF b/com.samsung.linuxplatform.injector/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..309f297
--- /dev/null
@@ -0,0 +1,24 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: com.samsung.linuxplatform.injector;singleton:=true
+Bundle-Version: 1.3.20.qualifier
+Bundle-Vendor: %Bundle-Vendor
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.ui.ide,
+ org.eclipse.core.resources,
+ org.eclipse.core.filesystem,
+ com.samsung.freshide.common,
+ org.eclipse.ui.forms;bundle-version="3.3.103",
+ com.samsung.freshide.connection
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: com.samsung.linuxplatform.injector.Injector
+Export-Package: com.samsung.linuxplatform.injector.protocol,
+ com.samsung.linuxplatform.injector.protocol.sensor,
+ com.samsung.linuxplatform.injector.provider,
+ com.samsung.linuxplatform.injector.receiver,
+ com.samsung.linuxplatform.injector.socket,
+ com.samsung.linuxplatform.injector.util
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Import-Package: com.samsung.freshide.common.util
diff --git a/com.samsung.linuxplatform.injector/OSGI-INF/l10n/bundle.properties b/com.samsung.linuxplatform.injector/OSGI-INF/l10n/bundle.properties
new file mode 100644 (file)
index 0000000..0cb1314
--- /dev/null
@@ -0,0 +1,5 @@
+#Properties file for com.samsung.linuxplatform.injector
+view.name = Event Injector
+extension-point.name = InjectorItemProvider
+Bundle-Vendor = Samsung Electronics
+Bundle-Name = SLP SDK Injector
\ No newline at end of file
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/DebugLog.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/DebugLog.class
new file mode 100644 (file)
index 0000000..d3dba1f
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/DebugLog.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/Injector.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/Injector.class
new file mode 100644 (file)
index 0000000..d4b0826
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/Injector.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/AbstractGA.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/AbstractGA.class
new file mode 100644 (file)
index 0000000..ca1e998
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/AbstractGA.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/AbstractItem.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/AbstractItem.class
new file mode 100644 (file)
index 0000000..f67d31a
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/AbstractItem.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/ByteArrayItem.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/ByteArrayItem.class
new file mode 100644 (file)
index 0000000..ddef9f6
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/ByteArrayItem.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/IntItem.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/IntItem.class
new file mode 100644 (file)
index 0000000..91313bb
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/IntItem.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/InvalidTypeException.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/InvalidTypeException.class
new file mode 100644 (file)
index 0000000..e402451
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/InvalidTypeException.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/ItemType.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/ItemType.class
new file mode 100644 (file)
index 0000000..8df59db
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/ItemType.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/StructureGA.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/StructureGA.class
new file mode 100644 (file)
index 0000000..bbceac3
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/StructureGA.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/sensor/AbstractSenserMessage.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/sensor/AbstractSenserMessage.class
new file mode 100644 (file)
index 0000000..b569eed
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/sensor/AbstractSenserMessage.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/sensor/TestSensorMessage.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/sensor/TestSensorMessage.class
new file mode 100644 (file)
index 0000000..a135acb
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/protocol/sensor/TestSensorMessage.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/provider/AbstractInjectorItem$1.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/provider/AbstractInjectorItem$1.class
new file mode 100644 (file)
index 0000000..4bbc4da
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/provider/AbstractInjectorItem$1.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/provider/AbstractInjectorItem.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/provider/AbstractInjectorItem.class
new file mode 100644 (file)
index 0000000..7d67144
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/provider/AbstractInjectorItem.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/provider/AbstractInjectorPage.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/provider/AbstractInjectorPage.class
new file mode 100644 (file)
index 0000000..07045c5
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/provider/AbstractInjectorPage.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/receiver/AbstractInjectorReceiver.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/receiver/AbstractInjectorReceiver.class
new file mode 100644 (file)
index 0000000..d268c1a
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/receiver/AbstractInjectorReceiver.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/LocationSocket.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/LocationSocket.class
new file mode 100644 (file)
index 0000000..c3b47ba
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/LocationSocket.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/SensorTCPSocket.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/SensorTCPSocket.class
new file mode 100644 (file)
index 0000000..d295844
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/SensorTCPSocket.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/SensorUDPSocket.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/SensorUDPSocket.class
new file mode 100644 (file)
index 0000000..a468222
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/SensorUDPSocket.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/TelephonySocket$Receiver$1.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/TelephonySocket$Receiver$1.class
new file mode 100644 (file)
index 0000000..30f19c5
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/TelephonySocket$Receiver$1.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/TelephonySocket$Receiver.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/TelephonySocket$Receiver.class
new file mode 100644 (file)
index 0000000..3a46333
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/TelephonySocket$Receiver.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/TelephonySocket.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/TelephonySocket.class
new file mode 100644 (file)
index 0000000..1bda6c6
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/socket/TelephonySocket.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/sourceProvider/InjectorStateProvider.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/sourceProvider/InjectorStateProvider.class
new file mode 100644 (file)
index 0000000..ecff126
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/sourceProvider/InjectorStateProvider.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/ByteUtil.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/ByteUtil.class
new file mode 100644 (file)
index 0000000..bf13f6a
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/ByteUtil.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$1.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$1.class
new file mode 100644 (file)
index 0000000..f8c5ba2
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$1.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$2.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$2.class
new file mode 100644 (file)
index 0000000..cc88947
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$2.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$3.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$3.class
new file mode 100644 (file)
index 0000000..db835fd
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$3.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$4.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$4.class
new file mode 100644 (file)
index 0000000..8badea4
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$4.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$5.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$5.class
new file mode 100644 (file)
index 0000000..61f515a
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil$5.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil.class
new file mode 100644 (file)
index 0000000..86fb6af
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/FormPageUtil.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/StringUtil.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/StringUtil.class
new file mode 100644 (file)
index 0000000..e75c9fb
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/util/StringUtil.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/InjectorView$1.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/InjectorView$1.class
new file mode 100644 (file)
index 0000000..e8fcb45
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/InjectorView$1.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/InjectorView$2.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/InjectorView$2.class
new file mode 100644 (file)
index 0000000..764f3f5
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/InjectorView$2.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/InjectorView.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/InjectorView.class
new file mode 100644 (file)
index 0000000..5f3ed34
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/InjectorView.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/Messages.class b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/Messages.class
new file mode 100644 (file)
index 0000000..367efd6
Binary files /dev/null and b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/Messages.class differ
diff --git a/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/messages.properties b/com.samsung.linuxplatform.injector/bin/com/samsung/linuxplatform/injector/view/messages.properties
new file mode 100644 (file)
index 0000000..69b248e
--- /dev/null
@@ -0,0 +1,2 @@
+InjectorView_6=To connect vmodem for emulator to interact it is failed.
+InjectorView_8=please retry after checking the status of simulator
diff --git a/com.samsung.linuxplatform.injector/build.properties b/com.samsung.linuxplatform.injector/build.properties
new file mode 100644 (file)
index 0000000..4fc24ed
--- /dev/null
@@ -0,0 +1,9 @@
+source.. = src/\r
+output.. = bin/\r
+bin.includes = plugin.xml,\\r
+               META-INF/,\\r
+               .,\\r
+               icons/,\\r
+               OSGI-INF/l10n/bundle.properties\r
+javacSource = 1.6
+javacTarget = 1.6
diff --git a/com.samsung.linuxplatform.injector/build.xml b/com.samsung.linuxplatform.injector/build.xml
new file mode 100644 (file)
index 0000000..8846cc5
--- /dev/null
@@ -0,0 +1,343 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="com.samsung.linuxplatform.injector" default="build.jars" basedir=".">
+
+       <property name="p2.build.repo" value="file:${buildDirectory}/buildRepo"/>
+       <property name="basews" value="${ws}"/>
+       <property name="baseos" value="${os}"/>
+       <property name="basearch" value="${arch}"/>
+       <property name="basenl" value="${nl}"/>
+       <property name="bundleId" value="com.samsung.linuxplatform.injector"/>
+       <property name="bundleVersion" value="1.3.20.201103241558"/>
+       <property name="p2.publishonerror" value="false"/>
+
+       <!-- Compiler settings. -->
+       <property name="javacFailOnError" value="false"/>
+       <property name="javacDebugInfo" value="on"/>
+       <property name="javacVerbose" value="false"/>
+       <property name="logExtension" value=".log"/>
+       <property name="compilerArg" value=""/>
+       <condition property="dir_bootclasspath" value="${java.home}/../Classes">
+               <os family="mac"/>
+       </condition>
+       <property name="dir_bootclasspath" value="${java.home}/lib"/>
+       <path id="path_bootclasspath">
+               <fileset dir="${dir_bootclasspath}">
+                       <include name="*.jar"/>
+               </fileset>
+       </path>
+       <property name="bootclasspath" refid="path_bootclasspath"/>
+       <property name="bundleJavacSource" value="1.6"/>
+       <property name="bundleJavacTarget" value="1.6"/>
+       <condition property="bundleBootClasspath" value="${JavaSE-1.6}" >
+               <isset property="JavaSE-1.6"/>
+       </condition>
+       <property name="bundleBootClasspath" value="${bootclasspath}"/>
+
+       <target name="init" depends="properties">
+               <condition property="pluginTemp" value="${buildTempFolder}/plugins"             >
+                       <isset property="buildTempFolder"/>
+               </condition>
+               <property name="pluginTemp" value="${basedir}"/>
+               <condition property="build.result.folder" value="${pluginTemp}/com.samsung.linuxplatform.injector_1.3.20.201103241558"          >
+                       <isset property="buildTempFolder"/>
+               </condition>
+               <property name="build.result.folder" value="${basedir}"/>
+               <property name="temp.folder" value="${basedir}/temp.folder"/>
+               <property name="plugin.destination" value="${basedir}"/>
+               <condition property="p2.publish.parts" value="true"             >
+                       <istrue value="${p2.gathering}"/>
+               </condition>
+               <property name="compilation.problem.marker" value="${build.result.folder}/compilation.problem"/>
+               <condition property="compilation.problem.marker.exists" value="true"            >
+                       <and>
+                       <available file="${compilation.problem.marker}"/>
+                       <isfalse value="p2.publishonerror"/>
+                       </and>
+               </condition>
+       </target>
+
+       <target name="properties" if="eclipse.running">
+               <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+
+       </target>
+
+       <target name="build.update.jar" depends="init" description="Build the plug-in: com.samsung.linuxplatform.injector for an update site.">
+               <delete dir="${temp.folder}"/>
+               <mkdir dir="${temp.folder}"/>
+               <antcall target="build.jars"/>
+               <antcall target="gather.bin.parts">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <jar destfile="${plugin.destination}/com.samsung.linuxplatform.injector_1.3.20.201103241558.jar" basedir="${temp.folder}/com.samsung.linuxplatform.injector_1.3.20.201103241558" filesetmanifest="merge"/>
+               <delete dir="${temp.folder}"/>
+       </target>
+
+       <target name="@dot" depends="init" unless="@dot" description="Create jar: com.samsung.linuxplatform.injector @dot.">
+               <delete dir="${build.result.folder}/@dot"/>
+               <mkdir dir="${build.result.folder}/@dot"/>
+               <path id="@dot.classpath">
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui_3.5.2.M20100120-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20090525.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.osgi_3.5.2.R35x_v20100126.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800/runtime_registry_compatibility.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.100.v20090413.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.app_1.2.1.R35x_v20091203.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.osgi.services_3.2.0.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/javax.servlet_2.5.0.v200806031605.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.swt_3.5.2.v3557f.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface_3.5.2.M20100120-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.commands_3.5.0.I20090525-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench_3.5.2.M20100113-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/compatibility.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/e4-workbench.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800"/>
+                       <pathelement path="../../../eclipse/plugins/com.ibm.icu_4.0.1.v20090822.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.help_3.4.1.v20090805_35x.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.expressions_3.4.101.R35x_v20100209.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface.databinding_1.3.1.M20090826-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding.observable_1.2.0.M20090902-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding.property_1.2.0.M20090819-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding_1.2.0.M20090819-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.resources.compatibility_3.4.1.R35x_v20100113-0530.jar"/>
+                       <pathelement path="../org.eclipse.core.resources.nl_ko/org.eclipse.core.resources.nl_ko_3.5.0.v20100814074441.jar"/>
+                       <pathelement path="../org.eclipse.core.resources.nl_ko"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ant.core_3.2.101.v20091110_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.variables_3.2.200.v20090521.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filesystem_1.2.1.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filesystem.linux.x86_1.3.0.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../org.eclipse.ui.ide/bin"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/bin"/>
+                       <pathelement path="../org.eclipse.ui.ide/e4-ide.jar"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/e4-ide.jar"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide/@dot"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/@dot"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.views_3.4.1.M20090826-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface.text_3.5.2.r352_v20091118-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.text_3.5.0.v20090513-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.forms_3.4.1.v20090714_35x.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.engine_1.0.102.R35x_v20091117.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.core_1.0.101.R35x_v20090819.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.metadata_1.0.101.R35x_v20100112.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.metadata.repository_1.0.101.R35x_v20090812.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.repository_1.0.1.R35x_v20100105.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.security_1.0.100.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.filetransfer_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.ssl_1.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.concurrent_1.0.1.R35x_v20100209.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.identity_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.provider.filetransfer_3.0.1.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.net_1.2.1.r35x_20090812-1200.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.net.linux.x86_1.1.0.I20081021.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.artifact.repository_1.0.101.R35x_v20090721.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.100.v20090520-1905.jar"/>
+                       <pathelement path="../com.samsung.linuxplatform.common/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common_1.3.20.201103241558/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection/bin"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection_1.3.20.201103241558/bin"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.linux/bin/"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.linux/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.windows/bin/"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.windows/@dot"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.console_3.4.0.v20090513.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.texteditor_3.5.1.r352_v20100105.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.compare.core_3.5.0.I20090430-0408.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.debug.ui_3.5.2.v20091028_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.debug.core_3.5.1.v20091103_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.editors_3.5.0.v20090527-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filebuffers_3.5.0.v20090526-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.ui_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.services_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.core_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.efs_2.1.100.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.files.core_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.processes.core_3.1.0.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.shells.core_3.1.0.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.terminals.core_1.0.1.v200908051630.jar"/>
+                       <pathelement path="../../../eclipse/plugins/com.jcraft.jsch_0.1.41.v200903070017.jar"/>
+               </path>
+               <!-- compile the source code -->
+               <javac destdir="${build.result.folder}/@dot" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bundleBootClasspath}" source="${bundleJavacSource}" target="${bundleJavacTarget}"            >
+                       <compilerarg line="${compilerArg}" compiler="${build.compiler}"/>
+                       <classpath refid="@dot.classpath" />
+                       <src path="src/"                        />
+                       <compilerarg value="@${basedir}/javaCompiler...args" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+                       <compilerarg line="-log '${build.result.folder}/@dot${logExtension}'" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+               </javac>
+               <antcall target="checkCompilationResults"/>
+               <!-- Copy necessary resources -->
+               <copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
+                       <fileset dir="src/">
+                               <exclude name="**/*.java"/>
+                               <exclude name="**/package.htm*"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="src.zip" depends="init" unless="src.zip">
+               <mkdir dir="${build.result.folder}"/>
+               <antcall target="zip.src.zip"/>
+       </target>
+       <target name="zip.src.zip">
+               <zip destfile="${build.result.folder}/src.zip" filesonly="false" whenempty="skip" update="false">
+                       <fileset dir="src/">
+                               <include name="**/*.java"/>
+                       </fileset>
+               </zip>
+       </target>
+       <target name="copy.src.zip">
+               <copy todir="${source.destination.folder}/" failonerror="true" overwrite="true">
+                       <fileset dir="src/">
+                               <include name="**/*.java"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="build.jars" depends="init" description="Compile classes and build nested jars for the plug-in: com.samsung.linuxplatform.injector.">
+               <delete file="${compilation.problem.marker}" quiet="true"/>
+               <available property="@dot" file="${build.result.folder}/@dot"/>
+               <antcall target="@dot"/>
+       </target>
+
+       <target name="checkCompilationResults" if="compilation.error.occured">
+               <echo file="${compilation.problem.marker}" message="com.samsung.linuxplatform.injector : compilation.error.occured=${compilation.error.occured}"/>
+       </target>
+
+       <target name="build.sources" depends="init">
+               <available property="src.zip" file="${build.result.folder}/src.zip"/>
+               <antcall target="src.zip"/>
+       </target>
+
+       <target name="publish.bin.parts" depends="init" if="p2.publish.parts" unless="compilation.problem.marker.exists">
+               <mkdir dir="${build.result.folder}/com.samsung.linuxplatform.injector_1.3.20.201103241558"/>
+               <copy todir="${build.result.folder}" failonerror="true" overwrite="true">
+                       <fileset dir="${basedir}">
+                               <include name="META-INF/MANIFEST.MF"/>
+                               <include name="plugin.xml"/>
+                               <include name="fragment.xml"/>
+                       </fileset>
+               </copy>
+               <eclipse.versionReplacer path="${build.result.folder}" version="1.3.20.201103241558"/>
+               <antcall target="apitools.generation">
+                       <param name="target.folder" value="${build.result.folder}"/>
+                       <param name="projectLocation" value="${basedir}"/>
+                       <param name="binary.folders" value="${build.result.folder}/@dot"/>
+                       <param name="projectName" value="${bundleId}_${bundleVersion}"/>
+               </antcall>
+               <eclipse.gatherBundle 
+                  metadataRepository="${p2.build.repo}"
+                  artifactRepository="${p2.build.repo}"
+                  buildResultFolder="${build.result.folder}"
+                  unpack="false"
+                  baseDirectory="${basedir}"
+               />
+       </target>
+
+       <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.injector_1.3.20.201103241558"/>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.injector_1.3.20.201103241558" failonerror="true" overwrite="false">
+                       <fileset dir="${build.result.folder}/@dot">
+                               <include name="**"/>
+                       </fileset>
+               </copy>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.injector_1.3.20.201103241558" failonerror="true" overwrite="true">
+                       <fileset dir="${basedir}">
+                               <include name="plugin.xml"/>
+                               <include name="META-INF/"/>
+                               <include name="icons/"/>
+                               <include name="OSGI-INF/l10n/bundle.properties"/>
+                       </fileset>
+               </copy>
+               <eclipse.versionReplacer path="${destination.temp.folder}/com.samsung.linuxplatform.injector_1.3.20.201103241558" version="1.3.20.201103241558"/>
+               <antcall target="apitools.generation">
+                       <param name="target.folder" value="${destination.temp.folder}/com.samsung.linuxplatform.injector_1.3.20.201103241558"/>
+                       <param name="projectLocation" value="${basedir}"/>
+                       <param name="binary.folders" value="${build.result.folder}/@dot"/>
+                       <param name="projectName" value="${bundleId}_${bundleVersion}"/>
+               </antcall>
+       </target>
+
+       <target name="build.zips" depends="init">
+       </target>
+
+       <target name="gather.sources" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.injector_1.3.20.201103241558"/>
+               <copy file="${build.result.folder}/src.zip" todir="${destination.temp.folder}/com.samsung.linuxplatform.injector_1.3.20.201103241558" failonerror="false" overwrite="false"/>
+               <antcall target="copy.src.includes">
+                       <param name="source.destination.folder" value="${destination.temp.folder}/com.samsung.linuxplatform.injector_1.3.20.201103241558"/>
+               </antcall>
+       </target>
+
+       <target name="gather.individual.sources" depends="init">
+               <antcall target="copy.src.zip">
+                       <param name="source.destination.folder" value="${destination.temp.folder}"/>
+               </antcall>
+               <antcall target="copy.src.includes">
+                       <param name="source.destination.folder" value="${destination.temp.folder}"/>
+               </antcall>
+       </target>
+
+       <target name="copy.src.includes" depends="init">
+       </target>
+
+       <target name="gather.logs" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.injector_1.3.20.201103241558"/>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.injector_1.3.20.201103241558" failonerror="false" overwrite="false">
+                       <fileset dir="${build.result.folder}">
+                               <include name="@dot${logExtension}"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="clean" depends="init" description="Clean the plug-in: com.samsung.linuxplatform.injector of all the zips, jars and logs created.">
+               <delete dir="${build.result.folder}/@dot"/>
+               <delete file="${build.result.folder}/src.zip"/>
+               <delete file="${plugin.destination}/com.samsung.linuxplatform.injector_1.3.20.201103241558.jar"/>
+               <delete file="${plugin.destination}/com.samsung.linuxplatform.injector_1.3.20.201103241558.zip"/>
+               <delete dir="${temp.folder}"/>
+               <delete file="${compilation.problem.marker}" quiet="true"/>
+       </target>
+
+       <target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
+               <eclipse.convertPath fileSystemPath="/home/taeyoung/SLPSDK/git/samsung-sdk-ide/com.samsung.linuxplatform.injector" property="resourcePath"/>
+               <eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
+       </target>
+
+       <target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: com.samsung.linuxplatform.injector.">
+               <delete dir="${temp.folder}"/>
+               <mkdir dir="${temp.folder}"/>
+               <antcall target="build.jars"/>
+               <antcall target="build.sources"/>
+               <antcall target="gather.bin.parts">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <antcall target="gather.sources">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <delete>
+                       <fileset dir="${temp.folder}">
+                               <include name="**/*.bin${logExtension}"/>
+                       </fileset>
+               </delete>
+               <zip destfile="${plugin.destination}/com.samsung.linuxplatform.injector_1.3.20.201103241558.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
+               <delete dir="${temp.folder}"/>
+       </target>
+
+       <target name="apitools.generation" if="generateAPIDescription">
+               <apitooling.apigeneration  projectName="${projectName}" project="${projectLocation}" binary="${binary.folders}" target="${target.folder}"               />
+       </target>
+
+</project>
diff --git a/com.samsung.linuxplatform.injector/icons/connect.png b/com.samsung.linuxplatform.injector/icons/connect.png
new file mode 100644 (file)
index 0000000..629a338
Binary files /dev/null and b/com.samsung.linuxplatform.injector/icons/connect.png differ
diff --git a/com.samsung.linuxplatform.injector/icons/disconnect.png b/com.samsung.linuxplatform.injector/icons/disconnect.png
new file mode 100644 (file)
index 0000000..c75f909
Binary files /dev/null and b/com.samsung.linuxplatform.injector/icons/disconnect.png differ
diff --git a/com.samsung.linuxplatform.injector/icons/injector_view.png b/com.samsung.linuxplatform.injector/icons/injector_view.png
new file mode 100644 (file)
index 0000000..d87e1cb
Binary files /dev/null and b/com.samsung.linuxplatform.injector/icons/injector_view.png differ
diff --git a/com.samsung.linuxplatform.injector/javaCompiler...args b/com.samsung.linuxplatform.injector/javaCompiler...args
new file mode 100644 (file)
index 0000000..b6f57d0
--- /dev/null
@@ -0,0 +1,92 @@
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui_3.5.2.M20100120-0800.jar[~org/eclipse/ui/internal/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20090525.jar[~org/eclipse/core/internal/preferences/legacy/*:~org/eclipse/core/internal/runtime/*:+org/eclipse/core/runtime/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.osgi_3.5.2.R35x_v20100126.jar[+org/eclipse/osgi/event/*:+org/eclipse/osgi/framework/console/*:+org/eclipse/osgi/framework/eventmgr/*:+org/eclipse/osgi/framework/log/*:+org/eclipse/osgi/launch/*:+org/eclipse/osgi/service/datalocation/*:+org/eclipse/osgi/service/debug/*:+org/eclipse/osgi/service/environment/*:+org/eclipse/osgi/service/localization/*:+org/eclipse/osgi/service/pluginconversion/*:+org/eclipse/osgi/service/resolver/*:+org/eclipse/osgi/service/runnable/*:+org/eclipse/osgi/service/security/*:+org/eclipse/osgi/service/urlconversion/*:+org/eclipse/osgi/signedcontent/*:+org/eclipse/osgi/storagemanager/*:+org/eclipse/osgi/util/*:+org/osgi/framework/*:+org/osgi/framework/launch/*:+org/osgi/framework/hooks/service/*:+org/osgi/service/condpermadmin/*:~org/osgi/service/framework/*:+org/osgi/service/packageadmin/*:+org/osgi/service/permissionadmin/*:+org/osgi/service/startlevel/*:+org/osgi/service/url/*:+org/osgi/util/tracker/*:~org/eclipse/core/runtime/adaptor/*:~org/eclipse/core/runtime/internal/adaptor/*:~org/eclipse/core/runtime/internal/stats/*:~org/eclipse/osgi/baseadaptor/*:~org/eclipse/osgi/baseadaptor/bundlefile/*:~org/eclipse/osgi/baseadaptor/hooks/*:~org/eclipse/osgi/baseadaptor/loader/*:~org/eclipse/osgi/framework/adaptor/*:~org/eclipse/osgi/framework/debug/*:~org/eclipse/osgi/framework/internal/core/*:~org/eclipse/osgi/framework/internal/protocol/*:~org/eclipse/osgi/framework/internal/protocol/bundleentry/*:~org/eclipse/osgi/framework/internal/protocol/bundleresource/*:~org/eclipse/osgi/framework/internal/protocol/reference/*:~org/eclipse/osgi/framework/internal/reliablefile/*:~org/eclipse/osgi/framework/util/*:~org/eclipse/osgi/internal/baseadaptor/*:~org/eclipse/osgi/internal/composite/*:~org/eclipse/osgi/internal/loader/*:~org/eclipse/osgi/internal/loader/buddy/*:~org/eclipse/osgi/internal/module/*:~org/eclipse/osgi/internal/profile/*:~org/eclipse/osgi/internal/resolver/*:~org/eclipse/osgi/internal/serviceregistry/*:~org/eclipse/osgi/internal/permadmin/*:~org/eclipse/osgi/internal/provisional/service/security/*:~org/eclipse/osgi/internal/provisional/verifier/*:~org/eclipse/osgi/internal/service/security/*:~org/eclipse/osgi/internal/signedcontent/*:~org/eclipse/osgi/service/internal/composite/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar[~org/eclipse/core/internal/boot/*:~org/eclipse/core/internal/runtime/*:+org/eclipse/core/runtime/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar[~org/eclipse/core/internal/jobs/*:+org/eclipse/core/runtime/jobs/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800/runtime_registry_compatibility.jar[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar[~org/eclipse/core/internal/preferences/*:~org/eclipse/core/internal/preferences/exchange/*:+org/eclipse/core/runtime/preferences/*:+org/osgi/service/prefs/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar[~org/eclipse/core/internal/content/*:+org/eclipse/core/runtime/content/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.100.v20090413.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.app_1.2.1.R35x_v20091203.jar[+org/eclipse/equinox/app/*:~org/eclipse/equinox/internal/app/*:+org/osgi/service/application/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.osgi.services_3.2.0.v20090520-1800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/javax.servlet_2.5.0.v200806031605.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.swt_3.5.2.v3557f.jar[+org/eclipse/swt/*:+org/eclipse/swt/accessibility/*:+org/eclipse/swt/awt/*:+org/eclipse/swt/browser/*:+org/eclipse/swt/custom/*:+org/eclipse/swt/dnd/*:+org/eclipse/swt/events/*:+org/eclipse/swt/graphics/*:+org/eclipse/swt/layout/*:+org/eclipse/swt/opengl/*:+org/eclipse/swt/printing/*:+org/eclipse/swt/program/*:+org/eclipse/swt/widgets/*:~org/eclipse/swt/internal/*:~org/eclipse/swt/internal/image/*:~org/eclipse/swt/internal/theme/*:~org/eclipse/swt/internal/accessibility/gtk/*:~org/eclipse/swt/internal/cairo/*:~org/eclipse/swt/internal/cde/*:~org/eclipse/swt/internal/gnome/*:~org/eclipse/swt/internal/gtk/*:~org/eclipse/swt/internal/mozilla/*:~org/eclipse/swt/internal/opengl/glx/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar[+org/eclipse/swt/*:+org/eclipse/swt/accessibility/*:+org/eclipse/swt/awt/*:+org/eclipse/swt/browser/*:+org/eclipse/swt/custom/*:+org/eclipse/swt/dnd/*:+org/eclipse/swt/events/*:+org/eclipse/swt/graphics/*:+org/eclipse/swt/layout/*:+org/eclipse/swt/opengl/*:+org/eclipse/swt/printing/*:+org/eclipse/swt/program/*:+org/eclipse/swt/widgets/*:~org/eclipse/swt/internal/*:~org/eclipse/swt/internal/image/*:~org/eclipse/swt/internal/theme/*:~org/eclipse/swt/internal/accessibility/gtk/*:~org/eclipse/swt/internal/cairo/*:~org/eclipse/swt/internal/cde/*:~org/eclipse/swt/internal/gnome/*:~org/eclipse/swt/internal/gtk/*:~org/eclipse/swt/internal/mozilla/*:~org/eclipse/swt/internal/opengl/glx/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface_3.5.2.M20100120-0800.jar[+org/eclipse/jface/*:+org/eclipse/jface/action/*:+org/eclipse/jface/action/images/*:+org/eclipse/jface/bindings/*:+org/eclipse/jface/bindings/keys/*:+org/eclipse/jface/bindings/keys/formatting/*:+org/eclipse/jface/commands/*:+org/eclipse/jface/contexts/*:+org/eclipse/jface/dialogs/*:+org/eclipse/jface/dialogs/images/*:+org/eclipse/jface/fieldassist/*:+org/eclipse/jface/fieldassist/images/*:+org/eclipse/jface/images/*:~org/eclipse/jface/internal/*:~org/eclipse/jface/internal/provisional/action/*:+org/eclipse/jface/layout/*:+org/eclipse/jface/menus/*:+org/eclipse/jface/operation/*:+org/eclipse/jface/preference/*:+org/eclipse/jface/preference/images/*:+org/eclipse/jface/resource/*:+org/eclipse/jface/util/*:+org/eclipse/jface/viewers/*:+org/eclipse/jface/viewers/deferred/*:+org/eclipse/jface/window/*:+org/eclipse/jface/wizard/*:+org/eclipse/jface/wizard/images/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.commands_3.5.0.I20090525-2000.jar[+org/eclipse/core/commands/*:+org/eclipse/core/commands/common/*:+org/eclipse/core/commands/contexts/*:+org/eclipse/core/commands/operations/*:+org/eclipse/core/commands/util/*:~org/eclipse/core/internal/commands/operations/*:~org/eclipse/core/internal/commands/util/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench_3.5.2.M20100113-0800.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/compatibility.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/e4-workbench.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/com.ibm.icu_4.0.1.v20090822.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.help_3.4.1.v20090805_35x.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.expressions_3.4.101.R35x_v20100209.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface.databinding_1.3.1.M20090826-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding.observable_1.2.0.M20090902-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding.property_1.2.0.M20090819-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding_1.2.0.M20090819-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar[~org/eclipse/core/internal/dtree/*:~org/eclipse/core/internal/events/*:~org/eclipse/core/internal/localstore/*:~org/eclipse/core/internal/properties/*:~org/eclipse/core/internal/propertytester/*:~org/eclipse/core/internal/refresh/*:~org/eclipse/core/internal/resources/*:~org/eclipse/core/internal/resources/mapping/*:~org/eclipse/core/internal/resources/refresh/win32/*:~org/eclipse/core/internal/utils/*:~org/eclipse/core/internal/watson/*:+org/eclipse/core/resources/*:+org/eclipse/core/resources/mapping/*:+org/eclipse/core/resources/refresh/*:+org/eclipse/core/resources/team/*:~org/eclipse/core/internal/indexing/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.resources.compatibility_3.4.1.R35x_v20100113-0530.jar[~org/eclipse/core/internal/dtree/*:~org/eclipse/core/internal/events/*:~org/eclipse/core/internal/localstore/*:~org/eclipse/core/internal/properties/*:~org/eclipse/core/internal/propertytester/*:~org/eclipse/core/internal/refresh/*:~org/eclipse/core/internal/resources/*:~org/eclipse/core/internal/resources/mapping/*:~org/eclipse/core/internal/resources/refresh/win32/*:~org/eclipse/core/internal/utils/*:~org/eclipse/core/internal/watson/*:+org/eclipse/core/resources/*:+org/eclipse/core/resources/mapping/*:+org/eclipse/core/resources/refresh/*:+org/eclipse/core/resources/team/*:~org/eclipse/core/internal/indexing/*:?**/*]
+#ADAPTER#ACCESS#org.eclipse.core.resources.nl_ko/org.eclipse.core.resources.nl_ko_3.5.0.v20100814074441.jar[~org/eclipse/core/internal/dtree/*:~org/eclipse/core/internal/events/*:~org/eclipse/core/internal/localstore/*:~org/eclipse/core/internal/properties/*:~org/eclipse/core/internal/propertytester/*:~org/eclipse/core/internal/refresh/*:~org/eclipse/core/internal/resources/*:~org/eclipse/core/internal/resources/mapping/*:~org/eclipse/core/internal/resources/refresh/win32/*:~org/eclipse/core/internal/utils/*:~org/eclipse/core/internal/watson/*:+org/eclipse/core/resources/*:+org/eclipse/core/resources/mapping/*:+org/eclipse/core/resources/refresh/*:+org/eclipse/core/resources/team/*:~org/eclipse/core/internal/indexing/*:?**/*]
+#ADAPTER#ACCESS#org.eclipse.core.resources.nl_ko[~org/eclipse/core/internal/dtree/*:~org/eclipse/core/internal/events/*:~org/eclipse/core/internal/localstore/*:~org/eclipse/core/internal/properties/*:~org/eclipse/core/internal/propertytester/*:~org/eclipse/core/internal/refresh/*:~org/eclipse/core/internal/resources/*:~org/eclipse/core/internal/resources/mapping/*:~org/eclipse/core/internal/resources/refresh/win32/*:~org/eclipse/core/internal/utils/*:~org/eclipse/core/internal/watson/*:+org/eclipse/core/resources/*:+org/eclipse/core/resources/mapping/*:+org/eclipse/core/resources/refresh/*:+org/eclipse/core/resources/team/*:~org/eclipse/core/internal/indexing/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ant.core_3.2.101.v20091110_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.variables_3.2.200.v20090521.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filesystem_1.2.1.R35x_v20091203-1235.jar[+org/eclipse/core/filesystem/*:+org/eclipse/core/filesystem/provider/*:~org/eclipse/core/internal/filesystem/*:~org/eclipse/core/internal/filesystem/local/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filesystem.linux.x86_1.3.0.R35x_v20091203-1235.jar[+org/eclipse/core/filesystem/*:+org/eclipse/core/filesystem/provider/*:~org/eclipse/core/internal/filesystem/*:~org/eclipse/core/internal/filesystem/local/*:?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/bin[+org/eclipse/ui/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/ide/*:+org/eclipse/ui/ide/dialogs/*:+org/eclipse/ui/ide/fileSystem/*:+org/eclipse/ui/ide/undo/*:~org/eclipse/ui/internal/ide/*:~org/eclipse/ui/internal/ide/actions/*:~org/eclipse/ui/internal/ide/commands/*:~org/eclipse/ui/internal/ide/dialogs/*:~org/eclipse/ui/internal/ide/filesystem/*:~org/eclipse/ui/internal/ide/handlers/*:~org/eclipse/ui/internal/ide/misc/*:~org/eclipse/ui/internal/ide/model/*:~org/eclipse/ui/internal/ide/registry/*:~org/eclipse/ui/internal/ide/undo/*:~org/eclipse/ui/internal/views/bookmarkexplorer/*:~org/eclipse/ui/internal/views/framelist/*:~org/eclipse/ui/internal/views/markers/*:~org/eclipse/ui/internal/views/navigator/*:~org/eclipse/ui/internal/views/properties/*:~org/eclipse/ui/internal/views/tasklist/*:~org/eclipse/ui/internal/wizards/datatransfer/*:~org/eclipse/ui/internal/wizards/newresource/*:+org/eclipse/ui/model/*:+org/eclipse/ui/part/*:+org/eclipse/ui/views/bookmarkexplorer/*:+org/eclipse/ui/views/framelist/*:+org/eclipse/ui/views/markers/*:~org/eclipse/ui/views/markers/internal/*:+org/eclipse/ui/views/navigator/*:+org/eclipse/ui/views/properties/*:+org/eclipse/ui/views/tasklist/*:+org/eclipse/ui/wizards/datatransfer/*:+org/eclipse/ui/wizards/newresource/*:?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/bin[+org/eclipse/ui/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/ide/*:+org/eclipse/ui/ide/dialogs/*:+org/eclipse/ui/ide/fileSystem/*:+org/eclipse/ui/ide/undo/*:~org/eclipse/ui/internal/ide/*:~org/eclipse/ui/internal/ide/actions/*:~org/eclipse/ui/internal/ide/commands/*:~org/eclipse/ui/internal/ide/dialogs/*:~org/eclipse/ui/internal/ide/filesystem/*:~org/eclipse/ui/internal/ide/handlers/*:~org/eclipse/ui/internal/ide/misc/*:~org/eclipse/ui/internal/ide/model/*:~org/eclipse/ui/internal/ide/registry/*:~org/eclipse/ui/internal/ide/undo/*:~org/eclipse/ui/internal/views/bookmarkexplorer/*:~org/eclipse/ui/internal/views/framelist/*:~org/eclipse/ui/internal/views/markers/*:~org/eclipse/ui/internal/views/navigator/*:~org/eclipse/ui/internal/views/properties/*:~org/eclipse/ui/internal/views/tasklist/*:~org/eclipse/ui/internal/wizards/datatransfer/*:~org/eclipse/ui/internal/wizards/newresource/*:+org/eclipse/ui/model/*:+org/eclipse/ui/part/*:+org/eclipse/ui/views/bookmarkexplorer/*:+org/eclipse/ui/views/framelist/*:+org/eclipse/ui/views/markers/*:~org/eclipse/ui/views/markers/internal/*:+org/eclipse/ui/views/navigator/*:+org/eclipse/ui/views/properties/*:+org/eclipse/ui/views/tasklist/*:+org/eclipse/ui/wizards/datatransfer/*:+org/eclipse/ui/wizards/newresource/*:?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/e4-ide.jar[+org/eclipse/ui/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/ide/*:+org/eclipse/ui/ide/dialogs/*:+org/eclipse/ui/ide/fileSystem/*:+org/eclipse/ui/ide/undo/*:~org/eclipse/ui/internal/ide/*:~org/eclipse/ui/internal/ide/actions/*:~org/eclipse/ui/internal/ide/commands/*:~org/eclipse/ui/internal/ide/dialogs/*:~org/eclipse/ui/internal/ide/filesystem/*:~org/eclipse/ui/internal/ide/handlers/*:~org/eclipse/ui/internal/ide/misc/*:~org/eclipse/ui/internal/ide/model/*:~org/eclipse/ui/internal/ide/registry/*:~org/eclipse/ui/internal/ide/undo/*:~org/eclipse/ui/internal/views/bookmarkexplorer/*:~org/eclipse/ui/internal/views/framelist/*:~org/eclipse/ui/internal/views/markers/*:~org/eclipse/ui/internal/views/navigator/*:~org/eclipse/ui/internal/views/properties/*:~org/eclipse/ui/internal/views/tasklist/*:~org/eclipse/ui/internal/wizards/datatransfer/*:~org/eclipse/ui/internal/wizards/newresource/*:+org/eclipse/ui/model/*:+org/eclipse/ui/part/*:+org/eclipse/ui/views/bookmarkexplorer/*:+org/eclipse/ui/views/framelist/*:+org/eclipse/ui/views/markers/*:~org/eclipse/ui/views/markers/internal/*:+org/eclipse/ui/views/navigator/*:+org/eclipse/ui/views/properties/*:+org/eclipse/ui/views/tasklist/*:+org/eclipse/ui/wizards/datatransfer/*:+org/eclipse/ui/wizards/newresource/*:?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/e4-ide.jar[+org/eclipse/ui/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/ide/*:+org/eclipse/ui/ide/dialogs/*:+org/eclipse/ui/ide/fileSystem/*:+org/eclipse/ui/ide/undo/*:~org/eclipse/ui/internal/ide/*:~org/eclipse/ui/internal/ide/actions/*:~org/eclipse/ui/internal/ide/commands/*:~org/eclipse/ui/internal/ide/dialogs/*:~org/eclipse/ui/internal/ide/filesystem/*:~org/eclipse/ui/internal/ide/handlers/*:~org/eclipse/ui/internal/ide/misc/*:~org/eclipse/ui/internal/ide/model/*:~org/eclipse/ui/internal/ide/registry/*:~org/eclipse/ui/internal/ide/undo/*:~org/eclipse/ui/internal/views/bookmarkexplorer/*:~org/eclipse/ui/internal/views/framelist/*:~org/eclipse/ui/internal/views/markers/*:~org/eclipse/ui/internal/views/navigator/*:~org/eclipse/ui/internal/views/properties/*:~org/eclipse/ui/internal/views/tasklist/*:~org/eclipse/ui/internal/wizards/datatransfer/*:~org/eclipse/ui/internal/wizards/newresource/*:+org/eclipse/ui/model/*:+org/eclipse/ui/part/*:+org/eclipse/ui/views/bookmarkexplorer/*:+org/eclipse/ui/views/framelist/*:+org/eclipse/ui/views/markers/*:~org/eclipse/ui/views/markers/internal/*:+org/eclipse/ui/views/navigator/*:+org/eclipse/ui/views/properties/*:+org/eclipse/ui/views/tasklist/*:+org/eclipse/ui/wizards/datatransfer/*:+org/eclipse/ui/wizards/newresource/*:?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/@dot[+org/eclipse/ui/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/ide/*:+org/eclipse/ui/ide/dialogs/*:+org/eclipse/ui/ide/fileSystem/*:+org/eclipse/ui/ide/undo/*:~org/eclipse/ui/internal/ide/*:~org/eclipse/ui/internal/ide/actions/*:~org/eclipse/ui/internal/ide/commands/*:~org/eclipse/ui/internal/ide/dialogs/*:~org/eclipse/ui/internal/ide/filesystem/*:~org/eclipse/ui/internal/ide/handlers/*:~org/eclipse/ui/internal/ide/misc/*:~org/eclipse/ui/internal/ide/model/*:~org/eclipse/ui/internal/ide/registry/*:~org/eclipse/ui/internal/ide/undo/*:~org/eclipse/ui/internal/views/bookmarkexplorer/*:~org/eclipse/ui/internal/views/framelist/*:~org/eclipse/ui/internal/views/markers/*:~org/eclipse/ui/internal/views/navigator/*:~org/eclipse/ui/internal/views/properties/*:~org/eclipse/ui/internal/views/tasklist/*:~org/eclipse/ui/internal/wizards/datatransfer/*:~org/eclipse/ui/internal/wizards/newresource/*:+org/eclipse/ui/model/*:+org/eclipse/ui/part/*:+org/eclipse/ui/views/bookmarkexplorer/*:+org/eclipse/ui/views/framelist/*:+org/eclipse/ui/views/markers/*:~org/eclipse/ui/views/markers/internal/*:+org/eclipse/ui/views/navigator/*:+org/eclipse/ui/views/properties/*:+org/eclipse/ui/views/tasklist/*:+org/eclipse/ui/wizards/datatransfer/*:+org/eclipse/ui/wizards/newresource/*:?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/@dot[+org/eclipse/ui/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/ide/*:+org/eclipse/ui/ide/dialogs/*:+org/eclipse/ui/ide/fileSystem/*:+org/eclipse/ui/ide/undo/*:~org/eclipse/ui/internal/ide/*:~org/eclipse/ui/internal/ide/actions/*:~org/eclipse/ui/internal/ide/commands/*:~org/eclipse/ui/internal/ide/dialogs/*:~org/eclipse/ui/internal/ide/filesystem/*:~org/eclipse/ui/internal/ide/handlers/*:~org/eclipse/ui/internal/ide/misc/*:~org/eclipse/ui/internal/ide/model/*:~org/eclipse/ui/internal/ide/registry/*:~org/eclipse/ui/internal/ide/undo/*:~org/eclipse/ui/internal/views/bookmarkexplorer/*:~org/eclipse/ui/internal/views/framelist/*:~org/eclipse/ui/internal/views/markers/*:~org/eclipse/ui/internal/views/navigator/*:~org/eclipse/ui/internal/views/properties/*:~org/eclipse/ui/internal/views/tasklist/*:~org/eclipse/ui/internal/wizards/datatransfer/*:~org/eclipse/ui/internal/wizards/newresource/*:+org/eclipse/ui/model/*:+org/eclipse/ui/part/*:+org/eclipse/ui/views/bookmarkexplorer/*:+org/eclipse/ui/views/framelist/*:+org/eclipse/ui/views/markers/*:~org/eclipse/ui/views/markers/internal/*:+org/eclipse/ui/views/navigator/*:+org/eclipse/ui/views/properties/*:+org/eclipse/ui/views/tasklist/*:+org/eclipse/ui/wizards/datatransfer/*:+org/eclipse/ui/wizards/newresource/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.views_3.4.1.M20090826-0800.jar[~org/eclipse/ui/internal/views/properties/*:+org/eclipse/ui/views/properties/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface.text_3.5.2.r352_v20091118-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.text_3.5.0.v20090513-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.forms_3.4.1.v20090714_35x.jar[+org/eclipse/ui/forms/*:+org/eclipse/ui/forms/editor/*:+org/eclipse/ui/forms/events/*:+org/eclipse/ui/forms/widgets/*:~org/eclipse/ui/internal/forms/*:~org/eclipse/ui/internal/forms/widgets/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.engine_1.0.102.R35x_v20091117.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.core_1.0.101.R35x_v20090819.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.metadata_1.0.101.R35x_v20100112.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.metadata.repository_1.0.101.R35x_v20090812.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.repository_1.0.1.R35x_v20100105.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.security_1.0.100.v20090520-1800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.filetransfer_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.ssl_1.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.concurrent_1.0.1.R35x_v20100209.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.identity_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.provider.filetransfer_3.0.1.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.net_1.2.1.r35x_20090812-1200.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.net.linux.x86_1.1.0.I20081021.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.artifact.repository_1.0.101.R35x_v20090721.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.100.v20090520-1905.jar[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common/bin/[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common_1.3.20.201103241558/bin/[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common/@dot[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection/bin[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection_1.3.20.201103241558/bin[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection/@dot[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.linux/bin/[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.linux/@dot[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.windows/bin/[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.windows/@dot[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.console_3.4.0.v20090513.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.texteditor_3.5.1.r352_v20100105.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.compare.core_3.5.0.I20090430-0408.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.debug.ui_3.5.2.v20091028_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.debug.core_3.5.1.v20091103_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.editors_3.5.0.v20090527-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filebuffers_3.5.0.v20090526-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.ui_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.services_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.core_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.efs_2.1.100.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.files.core_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.processes.core_3.1.0.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.shells.core_3.1.0.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.terminals.core_1.0.1.v200908051630.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/com.jcraft.jsch_0.1.41.v200903070017.jar[?**/*]
diff --git a/com.samsung.linuxplatform.injector/plugin.xml b/com.samsung.linuxplatform.injector/plugin.xml
new file mode 100644 (file)
index 0000000..67dc74d
--- /dev/null
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<?eclipse version="3.2"?>\r
+<plugin>\r
+ <extension-point id="injectorItemProvider" \r
+       name="%extension-point.name" schema="schema/injectorItemProvider.exsd"/>\r
+   <extension\r
+         point="org.eclipse.ui.perspectiveExtensions">
+     <perspectiveExtension\r
+            targetID="com.samsung.linuxplatform.perspective.SamsungSDKPerspective">\r
+         <view\r
+               ratio="1"\r
+               relative="org.eclipse.ui.views.ContentOutline"\r
+               relationship="stack"\r
+               id="com.samsung.linuxplatform.injector.view.InjectorView">\r
+         </view>\r
+         <viewShortcut\r
+               id="com.samsung.linuxplatform.injector.view.InjectorView">\r
+         </viewShortcut>\r
+      </perspectiveExtension>\r
+      <perspectiveExtension\r
+            targetID="com.samsung.linuxplatform.perspective.MonitoringPerspective">\r
+         <view\r
+               ratio="1"\r
+               relative="com.android.ide.eclipse.ddms.views.FileExplorerView"\r
+               relationship="stack"\r
+               id="com.samsung.linuxplatform.injector.view.InjectorView">\r
+         </view>\r
+         <viewShortcut\r
+               id="com.samsung.linuxplatform.injector.view.InjectorView">\r
+         </viewShortcut>\r
+      </perspectiveExtension>\r
+   </extension> \r
+ <extension\r
+         point="org.eclipse.ui.views">\r
+               <category\r
+                       name="%view.name"\r
+                       id="com.samsung.linuxplatform.injector.ViewCategory"/>\r
+      <view\r
+            category="com.samsung.linuxplatform.injector.ViewCategory"\r
+            class="com.samsung.linuxplatform.injector.view.InjectorView"\r
+            icon="icons/injector_view.png"\r
+            id="com.samsung.linuxplatform.injector.view.InjectorView"\r
+            name="%view.name"/>\r
+</extension>\r
+<extension\r
+               point="org.eclipse.ui.services">\r
+               <sourceProvider\r
+                       provider="com.samsung.linuxplatform.injector.sourceProvider.InjectorStateProvider">\r
+                       <variable\r
+                               name="com.samsung.linuxplatform.injector.sourceProvider.InjectorState"\r
+                               priorityLevel="workbench">\r
+                       </variable>\r
+               </sourceProvider>\r
+       </extension>     \r
+</plugin>\r
diff --git a/com.samsung.linuxplatform.injector/schema/injectorItemProvider.exsd b/com.samsung.linuxplatform.injector/schema/injectorItemProvider.exsd
new file mode 100644 (file)
index 0000000..a38b06d
--- /dev/null
@@ -0,0 +1,111 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="com.samsung.linuxplatform.injector" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+      <appInfo>
+         <meta.schema plugin="com.samsung.linuxplatform.injector" id="injectorItemProvider" name="InjectorItemProvider"/>
+      </appInfo>
+      <documentation>
+         An extension point to provide category item to Function View.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <annotation>
+         <appInfo>
+            <meta.element />
+         </appInfo>
+      </annotation>
+      <complexType>
+         <sequence>
+            <element ref="itemType" minOccurs="1" 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="itemType">
+      <complexType>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="category">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+            <simpleType>
+               <restriction base="string">
+                  <enumeration value="Telephony">
+                  </enumeration>
+                  <enumeration value="Location">
+                  </enumeration>
+                  <enumeration value="Sensor">
+                  </enumeration>
+               </restriction>
+            </simpleType>
+         </attribute>
+         <attribute name="icon" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="resource"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java" basedOn="com.samsung.linuxplatform.injector.provider.AbstractInjectorItem:"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+
+
+
+
+
+</schema>
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/DebugLog.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/DebugLog.java
new file mode 100644 (file)
index 0000000..56d3b7f
--- /dev/null
@@ -0,0 +1,8 @@
+package com.samsung.linuxplatform.injector;
+
+public class DebugLog {
+       
+       public static void log(Object msg) {
+               System.out.println("[INJECTOR] " + msg);
+       }
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/Injector.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/Injector.java
new file mode 100644 (file)
index 0000000..aeabc32
--- /dev/null
@@ -0,0 +1,58 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.injector;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Injector extends AbstractUIPlugin {
+       // The plug-in ID
+       public static final String PLUGIN_ID = "com.samsung.linuxplatform.injector"; //$NON-NLS-1$
+
+       // The shared instance
+       private static Injector plugin;
+       
+       /**
+        * The constructor
+        */
+       public Injector() {
+       }
+
+       /*
+        * (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);
+       }
+
+       /**
+        * Returns the shared instance
+        *
+        * @return the shared instance
+        */
+       public static Injector getDefault() {
+               return plugin;
+       }
+       
+       public ImageDescriptor getImageDescriptor(String path) {
+               return imageDescriptorFromPlugin(PLUGIN_ID, path);
+       }
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/AbstractGA.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/AbstractGA.java
new file mode 100644 (file)
index 0000000..08612a8
--- /dev/null
@@ -0,0 +1,174 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.injector.protocol;
+
+import java.nio.ByteBuffer;
+
+import com.samsung.linuxplatform.injector.util.ByteUtil;
+import com.samsung.linuxplatform.injector.util.StringUtil;
+
+abstract public class AbstractGA {
+
+       private static final int SINGLE_ROW_INDEX = 0;
+
+       private int groupId;
+       private int actionId;
+       private int length = 0;
+       private StructureGA header;
+       private StructureGA body;
+
+       public AbstractGA(int groupId, int actionId) {
+               this.groupId = groupId;
+               this.actionId = actionId;
+       }
+
+       abstract protected void makeBody();
+
+       abstract protected void makeHeader();
+
+       public void intialize() {
+               header = new StructureGA();
+               makeHeader();
+               body = new StructureGA();
+               makeBody();
+       }
+
+       public void intialize(byte[] packet) {
+               ByteBuffer byteBuffer = ByteUtil.getByteBuffer(packet);
+               AbstractItem item = null;
+               length = packet.length;
+
+               header = new StructureGA();
+               makeHeader();
+               for (int j = 0; j < header.getItemCount(); j++) {
+                       item = header.getItem(j);
+                       putBufferToItem(item, SINGLE_ROW_INDEX, byteBuffer);
+               }
+
+               body = new StructureGA();
+               makeBody();
+
+               int loopCount = getLoopCount();
+               body.setLoopCount(loopCount);
+
+               for (int i = 0; i < loopCount; i++) {
+                       for (int j = 0; j < body.getItemCount(); j++) {
+                               item = body.getItem(j);
+                               putBufferToItem(item, i, byteBuffer);
+                       }
+               }
+       }
+
+       private int getLoopCount() {
+               return (int) Math.ceil((double) (length - header.getByteLength())
+                               / body.getByteLength());
+       }
+
+       public byte[] makeStarterPacket() {
+               int byteLength = getSendLength();
+
+               ByteBuffer buffer = ByteUtil.getByteBuffer(4);
+
+               buffer.putShort((short) byteLength);
+               buffer.put(((Integer) groupId).byteValue());
+               buffer.put(((Integer) actionId).byteValue());
+               return buffer.array();
+       }
+
+       public byte[] makePacket() {
+               int byteLength = getSendLength();
+
+               ByteBuffer buffer = ByteUtil.getByteBuffer(byteLength);
+
+               AbstractItem item = null;
+               for (int j = 0; j < header.getItemCount(); j++) {
+                       item = header.getItem(j);
+                       putItemToBuffer(item, SINGLE_ROW_INDEX, buffer);
+               }
+
+               for (int i = 0; i < body.getLoopCount(); i++) {
+                       for (int j = 0; j < body.getItemCount(); j++) {
+                               item = body.getItem(j);
+                               putItemToBuffer(item, i, buffer);
+                       }
+               }
+
+               return buffer.array();
+       }
+
+       private void putItemToBuffer(AbstractItem item, int idx, ByteBuffer buffer) {
+               ItemType type = item.getType();
+               if (type == ItemType.BYTE) {
+                       buffer.put(getIntValue(item, idx).byteValue());
+               } else if (type == ItemType.SHORT) {
+                       buffer.putShort(getIntValue(item, idx).shortValue());
+               } else if (type == ItemType.INT) {
+                       buffer.putInt(getIntValue(item, idx));
+               } else if (type == ItemType.ByteArray) {
+                       byte[] buf = ((ByteArrayItem) item).getValue(idx);
+                       int length = item.getByteLength();
+                       int pos = buffer.position();
+
+                       if (buf.length > length) {
+                               buffer.put(buf, 0, length);
+                       } else {
+                               buffer.put(buf);
+                       }
+
+                       buffer.position(pos + length);
+               }
+       }
+
+       private Integer getIntValue(AbstractItem item, int idx) {
+               return ((IntItem) item).getValue(idx);
+       }
+
+       private void putBufferToItem(AbstractItem item, int idx, ByteBuffer buffer) {
+               ItemType type = item.getType();
+               if (type == ItemType.BYTE) {
+                       ((IntItem) item).setValue(idx, buffer.get() & 0xff);
+               } else if (type == ItemType.SHORT) {
+                       ((IntItem) item).setValue(idx, buffer.getShort());
+               } else if (type == ItemType.INT) {
+                       ((IntItem) item).setValue(idx, buffer.getInt());
+               } else if (type == ItemType.ByteArray) {
+                       int length = item.getByteLength();
+                       int remain = buffer.remaining();
+
+                       byte[] buf = null;
+                       if (length > remain) {
+                               buf = new byte[remain];
+                       } else {
+                               buf = new byte[length];
+                       }
+
+                       buffer.get(buf, 0, buf.length);
+                       ((ByteArrayItem) item).setValue(idx, buf);
+               }
+
+       }
+
+       public String getKey() {
+               return StringUtil.makeKey(groupId, actionId);
+       }
+
+       public int getSendLength() {
+               return header.getByteLength() + body.getByteLength()
+                               * body.getLoopCount();
+       }
+
+       public int getReceiveLength() {
+               return this.length;
+       }
+
+       public StructureGA getBody() {
+               return body;
+       }
+
+       public StructureGA getHeader() {
+               return header;
+       }
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/AbstractItem.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/AbstractItem.java
new file mode 100644 (file)
index 0000000..411d9d4
--- /dev/null
@@ -0,0 +1,33 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.injector.protocol;
+
+public class AbstractItem {
+       private ItemType type;
+       private int length;
+       private String name;
+       
+       
+       public AbstractItem(ItemType type, String name, int length){
+//             if(this.type!=ItemType.CHAR)
+//                     throw new InvalidTypeException("CHAR type should be created by the constructor,  IntItem(ItemType type, String name, int length)");
+               this.type = type;
+               this.name = name;
+               this.length = length;
+       }
+       
+       public ItemType getType() {
+               return type;
+       }
+       
+       public int getByteLength() {
+               return length;
+       }
+       
+       public String getName() {
+               return name;
+       }
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/ByteArrayItem.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/ByteArrayItem.java
new file mode 100644 (file)
index 0000000..304c368
--- /dev/null
@@ -0,0 +1,25 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.injector.protocol;
+
+import java.util.ArrayList;
+
+public class ByteArrayItem extends AbstractItem {
+       private ArrayList<byte[]> value;
+
+       public ByteArrayItem(ItemType type, String name, int length) {
+               super(type, name, length);
+               this.value = new ArrayList<byte[]>();
+       }
+
+       public void setValue(int idx, byte[] value) {
+               this.value.add(value);
+       }
+
+       public byte[] getValue(int idx) {
+               return this.value.get(idx);
+       }
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/IntItem.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/IntItem.java
new file mode 100644 (file)
index 0000000..7dfd1e4
--- /dev/null
@@ -0,0 +1,25 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.injector.protocol;
+
+import java.util.ArrayList;
+
+public class IntItem extends AbstractItem {
+       private ArrayList<Integer> value;
+
+       public IntItem(ItemType type, String name, int length) {
+               super(type, name, length);
+               this.value = new ArrayList<Integer>();
+       }
+
+       public void setValue(int idx, int value) {
+               this.value.add(value);
+       }
+
+       public int getValue(int idx) {
+               return this.value.get(idx);
+       }
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/InvalidTypeException.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/InvalidTypeException.java
new file mode 100644 (file)
index 0000000..a6a4406
--- /dev/null
@@ -0,0 +1,15 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.injector.protocol;
+
+@SuppressWarnings("serial")
+public class InvalidTypeException extends Exception {
+
+       public InvalidTypeException(String message) {
+               super(message);
+       }
+
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/ItemType.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/ItemType.java
new file mode 100644 (file)
index 0000000..fbbe5ad
--- /dev/null
@@ -0,0 +1,10 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.injector.protocol;
+
+public enum ItemType {
+       BYTE, SHORT, INT, ByteArray
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/StructureGA.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/StructureGA.java
new file mode 100644 (file)
index 0000000..8fb6ff9
--- /dev/null
@@ -0,0 +1,128 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.injector.protocol;
+
+import java.util.ArrayList;
+
+import com.samsung.linuxplatform.injector.util.ByteUtil;
+
+public class StructureGA {
+       
+       public static final int SINGLE_ROW_INDEX = 0;
+       
+       private int loopCount = 1;
+       private ArrayList<AbstractItem> list;
+       
+       public StructureGA(){
+               list = new ArrayList<AbstractItem>();
+       }
+       
+       public void addShortItem(String name) {
+               list.add(new IntItem(ItemType.SHORT, name, ByteUtil.SHORT_LENGTH));
+       }
+       
+       public void addByteItem(String name) {
+               list.add(new IntItem(ItemType.BYTE, name, ByteUtil.BYTE_LENGTH));
+       }
+       
+       public void addIntItem(String name) {
+               list.add(new IntItem(ItemType.INT, name, ByteUtil.INT_LENGTH));
+       }
+
+       public void addByteArrayItem(String name, int length) {
+               list.add(new ByteArrayItem(ItemType.ByteArray, name, length));
+       }
+       
+       public int getByteLength(){
+               int sum = 0;
+               for(int i=0; i<list.size(); i++) {
+                       sum += list.get(i).getByteLength();
+               }
+               return sum;
+       }
+       
+       public void setByteArray(String name, byte[] value){
+               setByteArray(name, SINGLE_ROW_INDEX, value);
+       }
+
+       public void setByteArray(String name, int idx, byte[] value){
+               ByteArrayItem item = (ByteArrayItem)getItem(name);
+               if(item==null)
+                       return;
+               
+               item.setValue(idx, value);
+       }
+       
+       public void setInt(String name, int value){
+               setInt(name, SINGLE_ROW_INDEX, value);
+       };
+       
+       public void setInt(String name, int idx, int value){
+               IntItem item = (IntItem)getItem(name);
+               if(item==null)
+                       return;
+               
+               item.setValue(idx, value);
+       }
+       
+       public byte[] getByteArray(String name){
+               return getByteArray(name, SINGLE_ROW_INDEX);
+       }
+       
+       public byte[] getByteArray(String name, int idx){
+               ByteArrayItem item = (ByteArrayItem)getItem(name);
+               if(item==null)
+                       return null;
+               
+               return item.getValue(idx);
+       }
+       
+       public int getInt(String name){
+               return getInt(name, SINGLE_ROW_INDEX);
+       }
+       
+       public int getInt(String name, int idx){
+               IntItem item = (IntItem)getItem(name);
+               if(item==null)
+                       return 0;
+               
+               return item.getValue(idx);
+       }
+       
+       
+       private AbstractItem getItem(String name){
+               if(name==null)
+                       return null;
+               
+               AbstractItem result = null;
+               for(int i=0;i<list.size();i++){
+                       AbstractItem item = list.get(i);
+                       if(name.equals(item.getName())){
+                               result= item;
+                               break;
+                       }
+               }
+               
+               return result;
+       }
+       
+       public AbstractItem getItem(int idx){
+               return list.get(idx);
+       }
+       
+       public int getItemCount(){
+               return list.size();
+       }
+       
+       
+       public void setLoopCount(int loopCount){
+               this.loopCount = loopCount;
+       }
+       
+       public int getLoopCount(){
+               return this.loopCount;
+       }
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/sensor/AbstractSenserMessage.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/sensor/AbstractSenserMessage.java
new file mode 100644 (file)
index 0000000..aca0113
--- /dev/null
@@ -0,0 +1,7 @@
+package com.samsung.linuxplatform.injector.protocol.sensor;
+
+public abstract class AbstractSenserMessage {
+       public String getMessage() {
+               return "TEST";
+       }
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/sensor/TestSensorMessage.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/protocol/sensor/TestSensorMessage.java
new file mode 100644 (file)
index 0000000..69a3724
--- /dev/null
@@ -0,0 +1,40 @@
+package com.samsung.linuxplatform.injector.protocol.sensor;
+
+public class TestSensorMessage extends AbstractSenserMessage {
+       private double param[];
+       private int paramCount;
+       
+       public TestSensorMessage(double x, double y, double z, double a, double b, double c, double d){
+               param = new double[7];
+               param[0] = x;
+               param[1] = y;
+               param[2] = z;
+               param[3] = a;
+               param[4] = b;
+               param[5] = c;
+               param[6] = d;
+               paramCount = 7;
+                       
+       }
+       public TestSensorMessage(double x, double y, double z) {
+               param = new double[3];
+               param[0] = x;
+               param[1] = y;
+               param[2] = z;
+               paramCount = 3;
+       }
+       public TestSensorMessage(int level) {
+               param = new double[1];
+               param[0] = level;
+               paramCount = 1;
+       }
+       
+       public String getMessage() {
+               String message;
+               message = paramCount + "\n";
+               for( int i = 0 ; i < param.length ; i++) {
+                       message += (Double.toString(param[i]) + "\n");
+               }
+               return message;
+       }
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/provider/AbstractInjectorItem.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/provider/AbstractInjectorItem.java
new file mode 100644 (file)
index 0000000..dde3c2f
--- /dev/null
@@ -0,0 +1,64 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.injector.provider;
+
+import java.util.ArrayList;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+
+import com.samsung.linuxplatform.injector.util.FormPageUtil;
+import com.samsung.linuxplatform.injector.view.InjectorView;
+
+public abstract class AbstractInjectorItem {
+       private InjectorView view;
+       
+       private ArrayList<AbstractInjectorPage> pageList = new ArrayList<AbstractInjectorPage>();
+       
+       public void createContents(Composite parent, FormPageUtil formUtil){
+               addPages();
+                       
+               TabFolder tabFolder = new TabFolder(parent, SWT.BORDER);
+               tabFolder.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+               tabFolder.addListener(SWT.MouseWheel, new Listener() {
+                       @Override
+                       public void handleEvent(Event event) {
+                               event.doit = false;
+                       }
+               });
+               
+               for(int i = 0; i < pageList.size(); i++){
+                       Composite composite = formUtil.createComposite(tabFolder);
+                       composite.setData(new GridData(GridData.FILL_HORIZONTAL));//new GridData(GridData.FILL, GridData.FILL, true, true));
+                       AbstractInjectorPage page = pageList.get(i);
+                       page.initialize(composite, formUtil);
+                       page.create();
+                       
+                       TabItem tab = new TabItem(tabFolder, SWT.NULL);
+                       tab.setText(page.getName());
+                       tab.setControl(composite);
+               }
+       }
+       
+       protected void addPage(AbstractInjectorPage page){
+               pageList.add(page);
+       }
+
+       public void setView(InjectorView view) {
+               this.view = view;
+       }
+       
+       public ArrayList<Composite> getCategoryItems(String category) {
+               return view.getCategoryCompositeList(category);         
+       }
+       
+       abstract protected void addPages();
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/provider/AbstractInjectorPage.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/provider/AbstractInjectorPage.java
new file mode 100644 (file)
index 0000000..81fc226
--- /dev/null
@@ -0,0 +1,61 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.injector.provider;
+
+import java.util.ArrayList;
+
+import org.eclipse.swt.widgets.Composite;
+
+import com.samsung.linuxplatform.injector.receiver.AbstractInjectorReceiver;
+//import com.samsung.linuxplatform.injector.socket.SensorTCPSocket;
+import com.samsung.linuxplatform.injector.socket.SensorUDPSocket;
+import com.samsung.linuxplatform.injector.socket.TelephonySocket;
+import com.samsung.linuxplatform.injector.util.FormPageUtil;
+
+public abstract class AbstractInjectorPage {
+
+       public AbstractInjectorPage(AbstractInjectorItem item, String name) {
+               this.item = item;
+               this.name = name;
+       }
+
+       private String name;
+       private AbstractInjectorItem item;
+       protected FormPageUtil formUtil;
+       protected Composite parent;
+       protected TelephonySocket injectorSocket = TelephonySocket.getInstance();
+       protected SensorUDPSocket sensorSocket = SensorUDPSocket.getInstance();
+//     protected SensorTCPSocket sensorSocket = SensorTCPSocket.getInstance();
+       
+       private ArrayList<AbstractInjectorReceiver> receiverList = new ArrayList<AbstractInjectorReceiver>();
+
+       public void initialize(Composite parent, FormPageUtil formUtil) {
+               this.parent = parent;
+               this.formUtil = formUtil;
+       }
+
+       public void create() {
+               createContents();
+               registerReceivers();
+               this.injectorSocket.addInjectorReceiver(receiverList);
+       }
+
+       public String getName() {
+               return this.name;
+       }
+
+       public AbstractInjectorItem getParent() {
+               return this.item;
+       }
+
+       protected void registerReceiver(AbstractInjectorReceiver receiver) {
+               receiverList.add(receiver);
+       }
+
+       protected abstract void createContents();
+
+       protected abstract void registerReceivers();
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/receiver/AbstractInjectorReceiver.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/receiver/AbstractInjectorReceiver.java
new file mode 100644 (file)
index 0000000..f8dc202
--- /dev/null
@@ -0,0 +1,39 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.injector.receiver;
+
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+
+abstract public class AbstractInjectorReceiver {
+       
+       private AbstractGA aga;
+       
+       public void analyzePacket(byte[] packet){
+               this.aga = createTransferObject();
+               this.aga.intialize(packet);
+       }
+       
+       public void analyzePacket(){
+               this.aga = createTransferObject();
+               this.aga.intialize();
+               this.aga.getHeader().setLoopCount(0);
+               this.aga.getBody().setLoopCount(0);
+       }
+       
+       public String getKey(){
+               if(this.aga==null)
+                       return createTransferObject().getKey();
+               else
+                       return this.aga.getKey();
+       }
+       
+       public AbstractGA getTransferObject(){
+               return this.aga;
+       }
+       
+       abstract public AbstractGA createTransferObject();
+       abstract public void run(AbstractGA aga);
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/socket/LocationSocket.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/socket/LocationSocket.java
new file mode 100644 (file)
index 0000000..5324d07
--- /dev/null
@@ -0,0 +1,88 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.injector.socket;
+
+import java.net.DatagramPacket;
+import java.net.DatagramSocket;
+import java.net.InetSocketAddress;
+
+//import com.samsung.linuxplatform.injector.DebugLog;
+
+public class LocationSocket {
+       private static LocationSocket locationSocket;
+
+       private static final int port = 3579;
+       private static final String ip = "127.0.0.1";
+
+       private DatagramSocket socket;
+       private boolean isConnected = false;
+
+       public static LocationSocket getInstance() {
+               if (locationSocket == null)
+                       locationSocket = new LocationSocket();
+       
+               return locationSocket;
+       }
+
+       public void connect() throws Exception {
+               if (isConnected())
+                       return;
+               else
+                       disconnect();
+
+               socket = new DatagramSocket();
+
+               try {
+                       socket.connect(new InetSocketAddress(ip, port));
+
+                       isConnected = true;
+               } catch (Exception e) {
+                       e.printStackTrace();
+                       disconnect();
+                       throw e;
+               }
+
+       }
+
+       private boolean isConnected() {
+               return isConnected && socket != null && !socket.isClosed()
+                               && socket.isConnected();
+       }
+
+       public void disconnect() {
+               if (!isConnected)
+                       return;
+
+               isConnected = false;
+
+               if (socket != null) {
+                       socket.close();
+               }
+       }
+
+       public void sendDispose() throws Exception {
+               if (!isConnected())
+                       return;
+       }
+
+       public boolean send(String sentence) throws Exception {
+               if (!isConnected())
+                       connect();
+
+               boolean result = false;
+               try {
+                       byte[] bytes = sentence.getBytes();
+                       DatagramPacket packet = new DatagramPacket(bytes, bytes.length);
+                       socket.send(packet);
+//                     DebugLog.log(bytes);
+                       result = true;
+               } catch (Exception e) {
+                       disconnect();
+                       throw e;
+               }
+               return result;
+       }
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/socket/SensorTCPSocket.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/socket/SensorTCPSocket.java
new file mode 100644 (file)
index 0000000..69127f4
--- /dev/null
@@ -0,0 +1,115 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.injector.socket;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.IOException;
+import java.net.InetSocketAddress;
+import java.net.Socket;
+
+//import com.samsung.linuxplatform.injector.DebugLog;
+import com.samsung.linuxplatform.injector.protocol.sensor.AbstractSenserMessage;
+
+public class SensorTCPSocket {
+       private static SensorTCPSocket sensorSocket;
+
+       private static final int port = 3580;
+       private static final String ip = "127.0.0.1";
+
+       private Socket socket;
+       private BufferedOutputStream output;
+       private BufferedInputStream input;
+       private boolean isConnected = false;
+
+       public static SensorTCPSocket getInstance() {
+               if (sensorSocket == null)
+                       sensorSocket = new SensorTCPSocket();
+       
+               return sensorSocket;
+       }
+
+       public void connect() throws Exception {
+               if (isConnected())
+                       return;
+               else
+                       disconnect();
+
+               socket = new Socket();
+
+               try {
+                       socket.setKeepAlive(true);
+                       socket.connect(new InetSocketAddress(ip, port), 1000);
+
+                       this.output = new BufferedOutputStream(socket.getOutputStream());
+                       this.input = new BufferedInputStream(socket.getInputStream());
+
+                       isConnected = true;
+               } catch (Exception e) {
+                       e.printStackTrace();
+                       disconnect();
+                       throw e;
+               }
+
+       }
+
+       private boolean isConnected() {
+               return isConnected && socket != null && !socket.isClosed()
+                               && socket.isConnected();
+       }
+
+       public void disconnect() {
+               if (!isConnected)
+                       return;
+
+               try {
+                       if (output != null)
+                               output.close();
+                       if (input != null)
+                               input.close();
+
+                       isConnected = false;
+               } catch (IOException e) {
+                       e.printStackTrace();
+               } finally {
+                       if (socket != null) {
+                               try {
+                                       socket.close();
+                               } catch (IOException e) {
+                                       e.printStackTrace();
+                               }
+                       }
+               }
+       }
+
+       public void sendDispose() throws Exception {
+               if (!isConnected())
+                       return;
+       }
+
+       public boolean send(AbstractSenserMessage sendObj) throws Exception {
+               boolean result = false;
+               
+               if (!isConnected())
+                       return result;
+               
+               try {
+                       String msg = sendObj.getMessage();
+                       byte[] bytes = msg.getBytes();
+
+//                     DebugLog.log(msg);
+                       output.write(bytes);
+                       
+                       output.flush();
+                       result = true;
+               } catch (Exception e) {
+                       e.printStackTrace();
+                       disconnect();
+                       throw e;
+               }
+               return result;
+       }
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/socket/SensorUDPSocket.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/socket/SensorUDPSocket.java
new file mode 100644 (file)
index 0000000..7a34724
--- /dev/null
@@ -0,0 +1,89 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.injector.socket;
+
+import java.net.DatagramPacket;
+import java.net.DatagramSocket;
+import java.net.InetSocketAddress;
+
+//import com.samsung.linuxplatform.injector.DebugLog;
+
+public class SensorUDPSocket {
+       private static SensorUDPSocket locationSocket;
+
+       private static final int port = 3580;
+       private static final String ip = "127.0.0.1";
+
+       private DatagramSocket socket;
+       private boolean isConnected = false;
+
+       public static SensorUDPSocket getInstance() {
+               if (locationSocket == null)
+                       locationSocket = new SensorUDPSocket();
+       
+               return locationSocket;
+       }
+
+       public void connect() throws Exception {
+               if (isConnected())
+                       return;
+               else
+                       disconnect();
+
+               socket = new DatagramSocket();
+
+               try {
+                       socket.connect(new InetSocketAddress(ip, port));
+
+                       isConnected = true;
+               } catch (Exception e) {
+                       e.printStackTrace();
+                       disconnect();
+                       throw e;
+               }
+       }
+
+       private boolean isConnected() {
+               return isConnected && socket != null && !socket.isClosed()
+                               && socket.isConnected();
+       }
+
+       public void disconnect() {
+               if (!isConnected)
+                       return;
+
+               isConnected = false;
+
+               if (socket != null) {
+                       socket.close();
+               }
+       }
+
+       public void sendDispose() throws Exception {
+               if (!isConnected())
+                       return;
+       }
+
+       public boolean send(String sentence) throws Exception {
+               if (!isConnected()) {
+                       connect();
+               }
+
+               boolean result = false;
+               
+               try {
+                       byte[] bytes = sentence.getBytes();
+                       DatagramPacket packet = new DatagramPacket(bytes, bytes.length);
+                       socket.send(packet);
+//                     DebugLog.log(sentence);
+                       result = true;
+               } catch (Exception e) {
+                       disconnect();
+                       result = false;
+               }
+               return result;
+       }
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/socket/TelephonySocket.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/socket/TelephonySocket.java
new file mode 100644 (file)
index 0000000..fa387da
--- /dev/null
@@ -0,0 +1,247 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.injector.socket;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.IOException;
+import java.net.InetSocketAddress;
+import java.net.Socket;
+import java.net.SocketException;
+import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.ui.progress.UIJob;
+
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+import com.samsung.linuxplatform.injector.receiver.AbstractInjectorReceiver;
+import com.samsung.linuxplatform.injector.util.ByteUtil;
+import com.samsung.linuxplatform.injector.util.StringUtil;
+
+public class TelephonySocket {
+       private static TelephonySocket telephonySocket;
+
+       private static final int port = 3578;
+       private static final String ip = "127.0.0.1"; //$NON-NLS-1$
+
+       private static HashMap<String, AbstractInjectorReceiver> receiverMap = new HashMap<String, AbstractInjectorReceiver>();
+
+       private Socket socket;
+       private BufferedOutputStream output;
+       private BufferedInputStream input;
+       private boolean isConnected = false;
+       private Receiver receiverThread;
+
+       public void addInjectorReceiver(ArrayList<AbstractInjectorReceiver> list) {
+               if (list == null)
+                       return;
+               for (int i = 0; i < list.size(); i++) {
+                       AbstractInjectorReceiver receiver = list.get(i);
+                       receiverMap.put(receiver.getKey(), receiver);
+               }
+       }
+
+       public void removeInjectorReceiver() {
+               receiverMap.clear();
+       }
+
+       public static TelephonySocket getInstance() {
+               if (telephonySocket == null)
+                       telephonySocket = new TelephonySocket();
+               return telephonySocket;
+       }
+
+       public void connect() throws Exception {
+               if (isConnected())
+                       return;
+               else
+                       disconnect();
+
+               socket = new Socket();
+
+               try {
+                       socket.setKeepAlive(true);
+                       socket.connect(new InetSocketAddress(ip, port), 1000);
+
+                       this.output = new BufferedOutputStream(socket.getOutputStream());
+                       this.input = new BufferedInputStream(socket.getInputStream());
+
+                       receiverThread = new Receiver();
+                       receiverThread.start();
+
+                       sendInitialize();
+                       isConnected = true;
+               } catch (Exception e) {
+                       e.printStackTrace();
+                       disconnect();
+                       throw e;
+               }
+
+       }
+
+       private boolean isConnected() {
+               return isConnected && socket != null && !socket.isClosed()
+                               && socket.isConnected();
+       }
+
+       public void disconnect() {
+               if (!isConnected)
+                       return;
+
+               try {
+                       if (receiverThread != null)
+                               receiverThread.shutdown();
+                       if (output != null)
+                               output.close();
+                       if (input != null)
+                               input.close();                  
+                       isConnected = false;
+               } catch (Exception e) {
+                       e.printStackTrace();
+               } finally {
+                       if (socket != null) {
+                               try {
+                                       socket.close();
+                               } catch (IOException e) {
+                                       e.printStackTrace();
+                               }
+                       }
+               }
+       }
+
+       private void sendInitialize() throws IOException {
+               byte[] abuf = { 0x04, 0x00, 0x40, 0x41 };
+               output.write(abuf);
+               output.flush();
+
+               byte[] bbuf = { 0x16, 0x00, 0x00, 0x00 };
+               output.write(bbuf);
+               output.flush();
+
+               byte[] cbuf = { 0x00, 0x00, 0x40, 0x47 };
+               output.write(cbuf);
+               output.flush();
+
+               byte[] dbuf = { 0x00, 0x00, 0x40, 0x42 };
+               output.write(dbuf);
+               output.flush();
+       }
+
+       public void sendAskData() throws Exception {
+               if (!isConnected())
+                       connect();
+
+               byte[] buf = { 0x00, 0x00, 0x11, 0x5b };
+               output.write(buf);
+               output.flush();
+       }
+
+       public void sendDispose() throws Exception {
+               if (!isConnected())
+                       return;
+
+               byte[] abuf = { 0x00, 0x00, 0x10, 0x01 };
+               output.write(abuf);
+               output.flush();
+
+               byte[] bbuf = { 0x00, 0x00, 0x10, 0x02 };
+               output.write(bbuf);
+               output.flush();
+       }
+
+       public boolean send(AbstractGA sendObj) throws Exception {
+               if (!isConnected())
+                       connect();
+
+               boolean result = false;
+               try {
+                       byte[] starter = sendObj.makeStarterPacket();
+//                     ByteUtil.printHex(starter, "send head");
+                       output.write(starter, 0, starter.length);
+
+                       byte[] main = sendObj.makePacket();
+                       if (main.length > 0) {
+//                             ByteUtil.printHex(main, "send body");
+                               output.write(main, 0, main.length);
+                       }
+                       output.flush();
+                       result = true;
+               } catch (Exception e) {
+                       e.printStackTrace();
+                       disconnect();
+                       throw e;
+               }
+               return result;
+       }
+
+       private class Receiver extends Thread {
+               private boolean hasActiveReceiver = true;
+
+               public void run() {
+                       try {                           
+                               byte[] buf = null;
+                               ByteBuffer byteBuffer = null;
+                               int length;
+                               int groupId;
+                               int actionId;
+                               while (hasActiveReceiver) {                             
+                                       buf = new byte[4];
+                                       input.read(buf, 0, buf.length);
+//                                     ByteUtil.printHex(buf, "receive head");
+                                       byteBuffer = ByteUtil.getByteBuffer(buf);
+                                       length = byteBuffer.getShort();
+                                       groupId = byteBuffer.get() & 0xff;
+                                       actionId = byteBuffer.get() & 0xff;
+
+                                       if (length != 0) {
+                                               buf = new byte[length];
+                                               input.read(buf, 0, buf.length);
+//                                             ByteUtil.printHex(buf, "receive body");
+                                       }
+
+                                       final AbstractInjectorReceiver receiver = getTelephonyReceiver(
+                                                       groupId, actionId);
+
+                                       if (receiver == null) {
+                                               continue;
+                                       }
+                                       
+                                       if (length == 0)
+                                               receiver.analyzePacket();
+                                       else
+                                               receiver.analyzePacket(buf);
+
+                                       UIJob job = new UIJob("Receive packet about [" + groupId
+                                                       + ":" + actionId + "]") { //$NON-NLS-1$ //$NON-NLS-2$
+                                               @Override
+                                               public IStatus runInUIThread(IProgressMonitor monitor) {
+                                                       receiver.run(receiver.getTransferObject());
+                                                       return Status.OK_STATUS;
+                                               }
+                                       };
+                                       job.schedule();
+                               }
+                       } catch (SocketException e) {
+                               return;
+                       } catch (Exception e) {
+                               e.printStackTrace();
+                       }
+               }
+
+               private void shutdown() {
+                       this.hasActiveReceiver = false;
+               }
+
+               private AbstractInjectorReceiver getTelephonyReceiver(int groupId,
+                               int actionId) {
+                       return receiverMap.get(StringUtil.makeKey(groupId, actionId));
+               }
+       }
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/sourceProvider/InjectorStateProvider.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/sourceProvider/InjectorStateProvider.java
new file mode 100644 (file)
index 0000000..a7f25b8
--- /dev/null
@@ -0,0 +1,74 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.injector.sourceProvider;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.ui.AbstractSourceProvider;
+import org.eclipse.ui.ISources;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.services.ISourceProviderService;
+
+public class InjectorStateProvider extends AbstractSourceProvider {
+
+       public final static String STATE_ID = "com.samsung.linuxplatform.injector.sourceProvider.InjectorState"; //$NON-NLS-1$
+       public final static String STATE_ON = "ON"; //$NON-NLS-1$
+       public final static String STATE_OFF = "OFF"; //$NON-NLS-1$
+       private static String state = STATE_OFF;
+       
+       @Override
+       public void dispose() {
+
+       }
+
+       @Override
+       public Map<String,String> getCurrentState() {
+               Map<String,String> stateMap = new HashMap<String,String>();
+               stateMap.put(STATE_ID, state);
+               return stateMap;
+       }
+
+       @Override
+       public String[] getProvidedSourceNames() {
+               return new String[]{STATE_ID};
+       }
+       
+       public void setState(String newState){
+               if(state.equals(newState))
+                       return;
+               else
+                       state = newState;
+               
+               fireSourceChanged(ISources.WORKBENCH, STATE_ID, newState);
+       }
+       
+/*     public static boolean isConnected = false;
+       
+       private void setConnectionStatus(boolean isConnected){
+               InjectorStateProvider.isConnected = isConnected;
+       }*/
+       
+       public static void changeSyslogState(String state){
+               try {
+                       IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+                       
+                       // In case of closing Eclipse
+                       if (window == null) {
+                               return;
+                       }
+                       
+                       ISourceProviderService service = (ISourceProviderService)window.getService(ISourceProviderService.class);
+                       InjectorStateProvider provider = (InjectorStateProvider)service.getSourceProvider(InjectorStateProvider.STATE_ID);
+                       provider.setState(state);
+//                     provider.setConnectionStatus(state.equals("ON")?true:false);
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }       
+       
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/util/ByteUtil.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/util/ByteUtil.java
new file mode 100644 (file)
index 0000000..44dabca
--- /dev/null
@@ -0,0 +1,114 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.injector.util;
+
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+
+public class ByteUtil {
+       private static final ByteOrder BYTE_ORDER = ByteOrder.LITTLE_ENDIAN;
+       public static final int BYTE_LENGTH = 1;
+       public static final int SHORT_LENGTH = 2;
+       public static final int INT_LENGTH = 4;
+
+       public static ByteBuffer getByteBuffer(byte[] buf) {
+               ByteBuffer byteBuffer = ByteBuffer.allocate(buf.length);
+               byteBuffer.order(BYTE_ORDER);
+               byteBuffer.put(buf);
+               byteBuffer.rewind();
+
+               return byteBuffer;
+       }
+
+       public static ByteBuffer getByteBuffer(int length) {
+               ByteBuffer byteBuffer = ByteBuffer.allocate(length);
+               byteBuffer.order(BYTE_ORDER);
+
+               return byteBuffer;
+       }
+
+       public static byte[] short2byte(short s) {
+               byte dest[] = new byte[2];
+               dest[1] = (byte) (s & 0xff);
+               dest[0] = (byte) (s >>> 8 & 0xff);
+               return dest;
+       }
+
+       public static byte[] int2byte(int i) {
+               byte dest[] = new byte[4];
+               dest[3] = (byte) (i & 0xff);
+               dest[2] = (byte) (i >>> 8 & 0xff);
+               dest[1] = (byte) (i >>> 16 & 0xff);
+               dest[0] = (byte) (i >>> 24 & 0xff);
+               return dest;
+       }
+
+       public static byte[] long2byte(long l) {
+               byte dest[] = new byte[8];
+               dest[7] = (byte) (int) (l & 255L);
+               dest[6] = (byte) (int) (l >>> 8 & 255L);
+               dest[5] = (byte) (int) (l >>> 16 & 255L);
+               dest[4] = (byte) (int) (l >>> 24 & 255L);
+               dest[3] = (byte) (int) (l >>> 32 & 255L);
+               dest[2] = (byte) (int) (l >>> 40 & 255L);
+               dest[1] = (byte) (int) (l >>> 48 & 255L);
+               dest[0] = (byte) (int) (l >>> 56 & 255L);
+               return dest;
+       }
+
+       public static short byte2short(byte src[]) {
+               return (short) ((src[0] & 0xff) << 8 | src[1] & 0xff);
+       }
+
+       public static int byte2int(byte src[]) {
+               return (src[0] & 0xff) << 24 | (src[1] & 0xff) << 16
+                               | (src[2] & 0xff) << 8 | src[3] & 0xff;
+       }
+
+       public static int byte2int(byte src[], int offset) {
+               return (src[offset] & 0xff) << 24 | (src[offset + 1] & 0xff) << 16
+                               | (src[offset + 2] & 0xff) << 8 | src[offset + 3] & 0xff;
+       }
+
+       public static long byte2long(byte src[]) {
+               return (long) byte2int(src) << 32 | (long) byte2int(src, 4)
+                               & 0xffffffffL;
+       }
+
+       public static String byte2hex(byte[] src) {
+               if (src == null)
+                       return null;
+
+               StringBuilder sb = new StringBuilder();
+               for (int i = 0; i < src.length; i++) {
+                       sb.append(Integer.toHexString(src[i] & 0xff));
+               }
+               return sb.toString();
+       }
+
+       public static byte[] hex2byte(String src) {
+               if (src == null)
+                       return null;
+
+               if (src.length() % 2 != 0)
+                       src = "0" + src; //$NON-NLS-1$
+
+               byte[] result = new byte[src.length() / 2];
+               for (int i = 0; i < result.length; i++) {
+                       result[i] = (byte) Integer.parseInt(
+                                       src.substring(2 * i, 2 * i + 2), 16);
+               }
+               return result;
+       }
+
+       // will be removed
+       public static void printHex(byte[] buf, String flag) {
+               System.out.print("\n### " + flag + " : "); //$NON-NLS-1$ //$NON-NLS-2$
+               for (int i = 0; i < buf.length; i++) {
+                       System.out.format("%02X ", buf[i]); //$NON-NLS-1$
+               }
+       }
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/util/FormPageUtil.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/util/FormPageUtil.java
new file mode 100644 (file)
index 0000000..6083fef
--- /dev/null
@@ -0,0 +1,347 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.injector.util;
+
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.browser.Browser;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+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.Slider;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.events.ExpansionAdapter;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.ScrolledForm;
+import org.eclipse.ui.forms.widgets.Section;
+
+public class FormPageUtil {
+
+       private ScrolledForm form;
+       private FormToolkit toolkit;
+
+       private final int TEXT_LIMIT = 200;
+
+       public FormPageUtil(Composite parent) {
+               initialize(parent);
+       }
+
+       public void initialize(Composite parent) {
+               toolkit = new FormToolkit(parent.getDisplay());
+               form = toolkit.createScrolledForm(parent);
+               form.getBody().setLayout(new GridLayout());
+       }
+
+       public void setColspan(Control control, int colspan) {
+               GridData gd = (GridData) control.getLayoutData();
+               if (gd == null) {
+                       gd = new GridData();
+                       gd.horizontalSpan = colspan;
+                       control.setLayoutData(gd);
+               } else {
+                       gd.horizontalSpan = colspan;
+               }
+       }
+
+       public void setWidth(Control control, int width) {
+               GridData gd = (GridData) control.getLayoutData();
+               if (gd == null) {
+                       gd = new GridData();
+                       gd.widthHint = width;
+                       control.setLayoutData(gd);
+               } else {
+                       gd.widthHint = width;
+               }
+               gd.widthHint = width;
+       }
+
+       private Composite setLayout(Composite composite, int numColumns) {
+               GridLayout gl = new GridLayout(numColumns, false);
+               gl.marginWidth = 2;
+               gl.marginHeight = 2;
+               composite.setLayout(gl);
+               return composite;
+       }
+
+       public Combo createCombo(Composite parent) {
+               Combo combo = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
+               combo.addListener(SWT.MouseWheel, new Listener() {
+                       @Override
+                       public void handleEvent(Event event) {
+                               event.doit = false;
+                       }
+               });
+               GridData gd = new GridData(GridData.FILL, GridData.FILL, true, false);
+               combo.setLayoutData(gd);
+               return combo;
+       }
+
+       public Combo createEditableCombo(Composite parent) {
+               Combo combo = new Combo(parent, SWT.DROP_DOWN);
+               combo.addListener(SWT.MouseWheel, new Listener() {
+                       @Override
+                       public void handleEvent(Event event) {
+                               event.doit = false;
+                       }
+               });
+               GridData gd = new GridData(GridData.FILL, GridData.FILL, true, false);
+               combo.setLayoutData(gd);
+               return combo;
+       }
+
+       public Combo createCombo(Composite parent, int colspan) {
+               Combo combo = createCombo(parent);
+               setColspan(combo, colspan);
+               return combo;
+       }
+
+       public Combo createEditableCombo(Composite parent, int colspan) {
+               Combo combo = createEditableCombo(parent);
+               setColspan(combo, colspan);
+               return combo;
+       }
+
+       public Label createLabel(Composite parent, String title) {
+               Label label = toolkit.createLabel(parent, title, SWT.NONE);
+               return label;
+       }
+
+       public Label createLabel(Composite parent, String title, int colspan) {
+               Label label = createLabel(parent, title);
+               setColspan(label, colspan);
+               return label;
+       }
+
+       public Text createText(Composite parent, String title) {
+               Text text = toolkit.createText(parent, title, SWT.BORDER);
+               text.setTextLimit(TEXT_LIMIT);
+               GridData gd = new GridData(GridData.FILL, GridData.CENTER, true, false);
+               text.setLayoutData(gd);
+               return text;
+       }
+
+       public Text createText(Composite parent, String title, int colspan) {
+               Text text = createText(parent, title);
+               setColspan(text, colspan);
+               return text;
+       }
+
+       public Button createButton(Composite parent, String title, int style) {
+               return toolkit.createButton(parent, title, style);
+       }
+
+       public Button createButton(Composite parent, String title, int style,
+                       int colspan) {
+               Button button = toolkit.createButton(parent, title, style);
+               setColspan(button, colspan);
+               return button;
+       }
+
+       public Composite createSection(Composite parent, String title) {
+               Section section = toolkit.createSection(parent, Section.TWISTIE
+                               | Section.EXPANDED);
+               section.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+               section.setText(title);
+               section.addExpansionListener(new ExpansionAdapter() {
+                       public void expansionStateChanged(ExpansionEvent e) {
+                               form.reflow(false);
+                       }
+               });
+               toolkit.createCompositeSeparator(section);
+
+               Composite client = toolkit.createComposite(section);
+               client.setLayout(new GridLayout());
+               section.setClient(client);
+               return client;
+       }
+
+       public Composite createComposite(Composite parent) {
+               Composite composite = toolkit.createComposite(parent);
+               composite.setLayout(new GridLayout());
+               composite.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+               return composite;
+       }
+
+       public Composite createComposite(Composite parent, int numColumns) {
+               return setLayout(createComposite(parent), numColumns);
+       }
+
+       public Composite createCategory(String title) {
+               Section section = toolkit.createSection(form.getBody(), Section.TWISTIE
+                               | Section.TITLE_BAR);
+               section.setText(title);
+               section.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+               section.addExpansionListener(new ExpansionAdapter() {
+                       public void expansionStateChanged(ExpansionEvent e) {
+                               form.reflow(false);
+                       }
+               });
+
+               Composite client = toolkit.createComposite(section);
+               client.setLayout(new GridLayout());
+               section.setClient(client);
+               return client;
+       }
+
+       public Composite createExpandable(Composite parent, String title) {
+               ExpandableComposite expandable = toolkit.createExpandableComposite(
+                               parent, ExpandableComposite.TREE_NODE
+                                               | ExpandableComposite.EXPANDED
+                                               | ExpandableComposite.CLIENT_INDENT);
+               expandable.setText(title);
+               expandable.addExpansionListener(new ExpansionAdapter() {
+                       public void expansionStateChanged(ExpansionEvent e) {
+                               form.reflow(true);
+                       }
+               });
+               Composite client = toolkit.createComposite(expandable);
+               client.setLayout(new GridLayout());
+
+               expandable.setClient(client);
+               return client;
+       }
+
+       public Composite createExpandable(Composite parent, String title,
+                       int numColumns) {
+               return setLayout(createExpandable(parent, title), numColumns);
+       }
+
+       public void addComboItem(Combo combo, Object[] items) {
+               if (items == null || items.length == 0)
+                       return;
+
+               for (int i = 0; i < items.length; i++)
+                       combo.add(items[i].toString());
+
+               combo.select(0);
+       }
+
+       public void addComboItem(Combo combo, Object[] items, Object selection) {
+               if (items == null || items.length == 0)
+                       return;
+
+               int idx = 0;
+               for (int i = 0; i < items.length; i++) {
+                       combo.add(items[i].toString());
+                       if (items[i].equals(selection))
+                               idx = i;
+               }
+
+               combo.select(idx);
+       }
+
+       public void selectCombo(Combo combo, String selectedItem) {
+               String[] itemNames = combo.getItems();
+               for (int i = 0; i < itemNames.length; i++) {
+                       if (itemNames[i].equals(selectedItem)) {
+                               combo.select(i);
+                               return;
+                       }
+               }
+       }
+
+       public void selectButton(Button[] buttons, String[] options) {
+               for (int i = 0; i < buttons.length; i++) {
+                       boolean checked = false;
+                       String text = buttons[i].getText();
+                       if (options != null) {
+                               for (int j = 0; j < options.length; j++) {
+                                       if (text.equals(options[j]))
+                                               checked = true;
+                               }
+                       }
+                       buttons[i].setSelection(checked);
+               }
+       }
+
+       public void selectButton(Button[] buttons, String option, boolean isChecked) {
+               for (int i = 0; i < buttons.length; i++) {
+                       if (buttons[i].getText().contains(option)) {
+                               buttons[i].setSelection(isChecked);
+                               break;
+                       }
+               }
+       }
+
+       public ScrolledForm getForm() {
+               return form;
+       }
+
+       
+       public TableViewer createTableViewer(Composite parent, String[] columnNames) {
+               return createTableViewer(parent, columnNames, 1);
+       }
+
+       public TableViewer createTableViewer(Composite parent,
+                       String[] columnNames, int colspan) {
+               return createTableViewer(parent, columnNames, 1, SWT.BORDER | SWT.H_SCROLL
+                               | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
+       }
+       
+       public TableViewer createTableViewer(Composite parent, String[] columnNames, int colspan, int style) {
+               TableViewer viewer = new TableViewer(parent, style);
+
+               Table table = viewer.getTable();
+               table.setHeaderVisible(true);
+               table.setLinesVisible(true);
+
+               GridData gd = new GridData(GridData.FILL, GridData.FILL, true, false);
+               gd.heightHint = 120;
+               gd.horizontalSpan = colspan;
+               viewer.getTable().setLayoutData(gd);
+
+               TableColumn column = null;
+               for (int i = 0; i < columnNames.length; i++) {
+                       column = new TableColumn(table, SWT.NONE);
+                       column.setText(columnNames[i]);
+                       column.setWidth(100);
+               }
+               return viewer;
+       }
+       
+       public Browser createBrowser(Composite parent) {
+               return createBrowser(parent, 1);
+       }
+       
+       public Browser createBrowser(Composite parent, int colsapn) {
+               Browser browser = new Browser(parent, SWT.NONE);
+               
+               GridData gd = new GridData(GridData.FILL, GridData.FILL, true, true);
+               gd.minimumHeight = 200;
+               gd.minimumWidth = 250;
+               browser.setLayoutData(gd);
+               
+               return browser;
+       }
+       
+       public Slider createSlider(Composite parent) {
+               return createSlider(parent, SWT.HORIZONTAL);
+       }
+       
+       public Slider createSlider(Composite parent, int style) {
+               Slider slider = new Slider(parent, style);
+               
+               GridData gd;
+               if ((style & SWT.VERTICAL) == SWT.VERTICAL) {
+                       gd = new GridData(GridData.CENTER, GridData.FILL, true, true);
+               } else {
+                       gd = new GridData(GridData.FILL, GridData.CENTER, true, true);
+               }
+               slider.setLayoutData(gd);
+               
+               return slider;
+       }
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/util/StringUtil.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/util/StringUtil.java
new file mode 100644 (file)
index 0000000..af83cb5
--- /dev/null
@@ -0,0 +1,36 @@
+/****************************************************************************************\r
+ * Copyright (c) 2010 Samsung Electronics Co.\r
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html\r
+ ****************************************************************************************/\r
+\r
+package com.samsung.linuxplatform.injector.util;\r
+\r
+public class StringUtil {\r
+       public static String lpad(String strSource, int totalLength, String pad) {\r
+               if(totalLength <= strSource.length())\r
+                       return strSource;\r
+\r
+               StringBuilder sb = new StringBuilder(strSource);\r
+               for (int i = 0; i < totalLength-sb.length(); i++) {\r
+                       sb.insert(0, pad);\r
+               }\r
+\r
+               return sb.toString();\r
+       }\r
+\r
+       public static String rpad(String strSource, int totalLength, String pad) {\r
+               if(totalLength <= strSource.length())\r
+                       return strSource;\r
+\r
+               StringBuilder sb = new StringBuilder(strSource);\r
+               for (int i = 0; i < totalLength-sb.length(); i++) {\r
+                       sb.append(pad);\r
+               }\r
+               \r
+               return sb.toString();\r
+       }\r
+\r
+       public static String makeKey(int groupId, int actionId) {\r
+               return groupId + ":" + actionId; //$NON-NLS-1$\r
+       }\r
+}\r
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/view/InjectorView.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/view/InjectorView.java
new file mode 100644 (file)
index 0000000..0def124
--- /dev/null
@@ -0,0 +1,304 @@
+/****************************************************************************************\r
+ * Copyright (c) 2010 Samsung Electronics Co.\r
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html\r
+ ****************************************************************************************/\r
+\r
+package com.samsung.linuxplatform.injector.view;\r
+\r
+import java.util.ArrayList;\r
+\r
+import org.eclipse.core.runtime.CoreException;\r
+import org.eclipse.core.runtime.IConfigurationElement;\r
+import org.eclipse.core.runtime.IExtension;\r
+import org.eclipse.core.runtime.IExtensionPoint;\r
+import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.core.runtime.IStatus;\r
+import org.eclipse.core.runtime.Platform;\r
+import org.eclipse.core.runtime.Status;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.layout.FillLayout;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.swt.widgets.TabFolder;\r
+import org.eclipse.swt.widgets.TabItem;\r
+import org.eclipse.ui.PlatformUI;\r
+import org.eclipse.ui.forms.widgets.Section;\r
+import org.eclipse.ui.part.ViewPart;\r
+import org.eclipse.ui.progress.UIJob;\r
+\r
+import com.samsung.freshide.common.util.DialogUtil;\r
+import com.samsung.freshide.connection.device.DeviceChecker;\r
+import com.samsung.freshide.connection.device.DeviceLauncherManager;\r
+import com.samsung.freshide.connection.device.DeviceManager;\r
+import com.samsung.freshide.connection.device.IDeviceListener;\r
+import com.samsung.freshide.connection.machine.IMachine;\r
+import com.samsung.linuxplatform.injector.Injector;\r
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;\r
+import com.samsung.linuxplatform.injector.socket.LocationSocket;\r
+//import com.samsung.linuxplatform.injector.socket.SensorTCPSocket;\r
+import com.samsung.linuxplatform.injector.socket.SensorUDPSocket;\r
+import com.samsung.linuxplatform.injector.socket.TelephonySocket;\r
+import com.samsung.linuxplatform.injector.sourceProvider.InjectorStateProvider;\r
+import com.samsung.linuxplatform.injector.util.FormPageUtil;\r
+\r
+public class InjectorView extends ViewPart implements\r
+               IDeviceListener {\r
+\r
+       private final static String EXTENSION_POINT_INJECTOR_ITEM_PROVIDER = "injectorItemProvider";\r
+       private final static String TAG_ITEM_TYPE = "itemType";\r
+       private final static String ATTR_ID = "name";\r
+       private final static String ATTR_CATEGORY = "category";\r
+       private final static String ATTR_CLASS = "class";\r
+       \r
+       private boolean desposing = false;\r
+\r
+       public final static String VIEW_ID = "com.samsung.linuxplatform.injector.view.InjectorView";\r
+\r
+       private String errorMessage = Messages.InjectorView_6\r
+                       + System.getProperty("line.separator") //$NON-NLS-1$\r
+                       + Messages.InjectorView_8;\r
+\r
+       private ArrayList<String> categoryList = new ArrayList<String>();\r
+       private ArrayList<FormPageUtil> formUtilList = new ArrayList<FormPageUtil>();\r
+       private ArrayList<ArrayList<Composite>> compositeArrayList = new ArrayList<ArrayList<Composite>>();\r
+\r
+       @Override\r
+       public void createPartControl(Composite parent) {\r
+               getCategories();\r
+\r
+               TabFolder tabFolder = createTabFolder(parent);\r
+\r
+               for (int i = 0; i < categoryList.size(); i++) {\r
+                       compositeArrayList.add(new ArrayList<Composite>());\r
+                       TabItem tabItem = createTabItem(tabFolder, categoryList.get(i));\r
+                       formUtilList\r
+                                       .add(new FormPageUtil((Composite) tabItem.getControl()));\r
+                       getItems(i);\r
+               }\r
+\r
+               initialize();\r
+       }\r
+\r
+       private TabFolder createTabFolder(Composite parent) {\r
+               TabFolder tabFolder = new TabFolder(parent, SWT.NONE);\r
+               tabFolder.setLayout(new FillLayout());\r
+\r
+               return tabFolder;\r
+       }\r
+\r
+       private TabItem createTabItem(TabFolder parent, String text) {\r
+               TabItem tabItem = new TabItem(parent, SWT.NONE);\r
+               tabItem.setText(text);\r
+               tabItem.setControl(createTabItemComposite(parent));\r
+\r
+               return tabItem;\r
+       }\r
+\r
+       private Composite createTabItemComposite(Composite parent) {\r
+               Composite composite = new Composite(parent, SWT.NONE);\r
+               composite.setLayout(new FillLayout());\r
+\r
+               return composite;\r
+       }\r
+\r
+       private void initialize() {\r
+               DeviceLauncherManager.addDeviceListener(this);\r
+//             TargetConnectionControl.addTargetConnectionListener(this);\r
+//             TargetConnectionControl.addSimulatorStatusListener(this);\r
+//             connect();\r
+       }\r
+\r
+       @Override\r
+       public void dispose() {\r
+               desposing = true;\r
+               disconnect();\r
+\r
+               DeviceLauncherManager.removeDeviceListener(this);\r
+//             TargetConnectionControl.removeTargetConnectionListener(this);\r
+//             TargetConnectionControl.removeSimulatorStatusListener(this);\r
+               super.dispose();\r
+       }\r
+\r
+       private void getCategories() {\r
+               IExtensionPoint extensionPoint = Platform.getExtensionRegistry()\r
+                               .getExtensionPoint(Injector.PLUGIN_ID,\r
+                                               EXTENSION_POINT_INJECTOR_ITEM_PROVIDER);\r
+\r
+               if (extensionPoint != null) {\r
+                       IExtension[] extensions = extensionPoint.getExtensions();\r
+                       for (IExtension ex : extensions) {\r
+                               IConfigurationElement[] configElements = ex\r
+                                               .getConfigurationElements();\r
+                               for (int i = 0; i < configElements.length; i++) {\r
+                                       if (configElements[i].getName().equals(TAG_ITEM_TYPE)) {\r
+                                               String category = configElements[i].getAttribute(ATTR_CATEGORY);\r
+                                               if (!categoryList.contains(category)) {\r
+                                                       categoryList.add(category);\r
+                                               }\r
+                                       }\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+\r
+       private void getItems(int index) {\r
+               IExtensionPoint extensionPoint = Platform.getExtensionRegistry()\r
+                               .getExtensionPoint(Injector.PLUGIN_ID,\r
+                                               EXTENSION_POINT_INJECTOR_ITEM_PROVIDER);\r
+\r
+               String name = null;\r
+               AbstractInjectorItem executor = null;\r
+               if (extensionPoint != null) {\r
+                       IExtension[] extensions = extensionPoint.getExtensions();\r
+                       for (IExtension ex : extensions) {\r
+                               IConfigurationElement[] configElements = ex\r
+                                               .getConfigurationElements();\r
+                               for (int i = 0; i < configElements.length; i++) {\r
+                                       if (configElements[i].getName().equals(TAG_ITEM_TYPE)) {\r
+                                               if (configElements[i].getAttribute(ATTR_CATEGORY)\r
+                                                               .equals(categoryList.get(index))) {\r
+\r
+                                                       name = configElements[i].getAttribute(ATTR_ID);\r
+                                                       Composite client = formUtilList.get(index)\r
+                                                                       .createCategory(name);\r
+                                                       client.getParent().setEnabled(false);\r
+                                                       compositeArrayList.get(index).add(client);\r
+                                                       try {\r
+                                                               executor = (AbstractInjectorItem) (configElements[i]\r
+                                                                               .createExecutableExtension(ATTR_CLASS));\r
+                                                               executor.createContents(client, formUtilList\r
+                                                                               .get(index));\r
+                                                               executor.setView(this);\r
+                                                       } catch (CoreException e) {\r
+                                                               e.printStackTrace();\r
+                                                       }\r
+                                               }\r
+                                       }\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+\r
+       public void activate() {\r
+               for (int i = 0; i < compositeArrayList.size(); i++) {\r
+                       for (int j = 0; j < compositeArrayList.get(i).size(); j++) {\r
+                               Composite client = compositeArrayList.get(i).get(j);\r
+                               client.getParent().setEnabled(true);\r
+                       }\r
+               }\r
+       }\r
+\r
+       public void inactivateUI() {\r
+               for (int i = 0; i < compositeArrayList.size(); i++) {\r
+                       for (int j = 0; j < compositeArrayList.get(i).size(); j++) {\r
+                               Composite client = compositeArrayList.get(i).get(j);\r
+                               Section section = (Section) client.getParent();\r
+                               section.setExpanded(false);\r
+                               section.setEnabled(false);\r
+                       }\r
+               }\r
+       }\r
+\r
+       @Override\r
+       public void setFocus() {\r
+       }\r
+       \r
+       private void initSocket() {\r
+               UIJob job = new UIJob("Connect Vmodem") {\r
+                       @Override\r
+                       public IStatus runInUIThread(IProgressMonitor monitor) {\r
+                               try {\r
+                                       InjectorStateProvider\r
+                                                       .changeSyslogState(InjectorStateProvider.STATE_ON);\r
+                                       \r
+                                       InjectorView view = (InjectorView) PlatformUI.getWorkbench()\r
+                                       .getActiveWorkbenchWindow().getActivePage().findView(\r
+                                                       InjectorView.VIEW_ID);\r
+                                       if (view != null)\r
+                                               view.activate();\r
+\r
+//                                     TelephonySocket.getInstance().connect();\r
+//                                     TelephonySocket.getInstance().sendAskData();\r
+//                                     \r
+////                                   SensorTCPSocket.getInstance().connect();                                \r
+//                                     SensorUDPSocket.getInstance().connect();\r
+//                                     LocationSocket.getInstance().connect();\r
+                               } catch (Exception e) {\r
+                                       DialogUtil.openErrorDialog(errorMessage);\r
+                               }\r
+                               return Status.OK_STATUS;\r
+                       }\r
+               };\r
+               job.schedule();\r
+       }\r
+       \r
+//     @Override\r
+       public void connect() {\r
+                       initSocket();\r
+       }\r
+\r
+//     @Override\r
+       public void disconnect() {\r
+               try {\r
+                       TelephonySocket.getInstance().disconnect();\r
+                       SensorUDPSocket.getInstance().disconnect();\r
+//                     SensorTCPSocket.getInstance().disconnect();\r
+                       LocationSocket.getInstance().disconnect();\r
+               } catch (Exception e) {\r
+                       e.printStackTrace();\r
+               }\r
+               \r
+               UIJob job = new UIJob("Connect Vmodem") {\r
+                       @Override\r
+                       public IStatus runInUIThread(IProgressMonitor monitor) {\r
+                               InjectorStateProvider\r
+                                               .changeSyslogState(InjectorStateProvider.STATE_OFF);\r
+                               InjectorView view = (InjectorView) PlatformUI.getWorkbench()\r
+                                               .getActiveWorkbenchWindow().getActivePage().findView(\r
+                                                               InjectorView.VIEW_ID);\r
+                               if (view != null)\r
+                                       view.inactivateUI();\r
+                               return Status.OK_STATUS;\r
+                       }\r
+               };\r
+               \r
+               if (desposing != true) {\r
+                       job.schedule();\r
+               }\r
+       }\r
+\r
+       @Override\r
+       public void StatusChanged(int Event) {\r
+//             if( DeviceManager.getSelectedDevice().getMachineType() == IMachine.VIRTUAL_DEVICE){\r
+//                     if (Event == IDeviceListener.RUNNING) {\r
+//                             connect();\r
+//                     }\r
+//                     else if( Event == IDeviceListener.NOT_RUNNING){\r
+//                             disconnect();\r
+//                     }\r
+//             }\r
+       }\r
+       \r
+       public ArrayList<String> getCategoryList() {\r
+               return this.categoryList;\r
+       }\r
+       \r
+       public ArrayList<Composite> getCategoryCompositeList(String category) { \r
+               int i = categoryList.indexOf(category);\r
+               \r
+               if(i > -1) {\r
+                       return compositeArrayList.get(i);\r
+               }\r
+               \r
+               return null;\r
+       }\r
+\r
+       @Override\r
+       public void ConnectionChanged() {\r
+               if (DeviceChecker.hasActiveVirtualDevice( DeviceManager.getSelectedDevice().getMachineId() )) {\r
+                       connect();\r
+               }\r
+               else {\r
+                       disconnect();\r
+               }\r
+       }\r
+}
\ No newline at end of file
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/view/Messages.java b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/view/Messages.java
new file mode 100644 (file)
index 0000000..a7f62fd
--- /dev/null
@@ -0,0 +1,16 @@
+package com.samsung.linuxplatform.injector.view;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+       private static final String BUNDLE_NAME = "com.samsung.linuxplatform.injector.view.messages"; //$NON-NLS-1$
+       public static String InjectorView_6;
+       public static String InjectorView_8;
+       static {
+               // initialize resource bundle
+               NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+       }
+
+       private Messages() {
+       }
+}
diff --git a/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/view/messages.properties b/com.samsung.linuxplatform.injector/src/com/samsung/linuxplatform/injector/view/messages.properties
new file mode 100644 (file)
index 0000000..69b248e
--- /dev/null
@@ -0,0 +1,2 @@
+InjectorView_6=To connect vmodem for emulator to interact it is failed.
+InjectorView_8=please retry after checking the status of simulator
diff --git a/com.samsung.linuxplatform.location.core/.classpath b/com.samsung.linuxplatform.location.core/.classpath
new file mode 100644 (file)
index 0000000..ad32c83
--- /dev/null
@@ -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/JavaSE-1.6"/>
+       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+       <classpathentry kind="src" path="src"/>
+       <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/com.samsung.linuxplatform.location.core/.project b/com.samsung.linuxplatform.location.core/.project
new file mode 100644 (file)
index 0000000..01837e0
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>com.samsung.linuxplatform.location.core</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/com.samsung.linuxplatform.location.core/.settings/org.eclipse.core.resources.prefs b/com.samsung.linuxplatform.location.core/.settings/org.eclipse.core.resources.prefs
new file mode 100644 (file)
index 0000000..4ba9b9e
--- /dev/null
@@ -0,0 +1,3 @@
+#Wed Dec 01 09:07:15 CET 2010
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/com.samsung.linuxplatform.location.core/.settings/org.eclipse.core.runtime.prefs b/com.samsung.linuxplatform.location.core/.settings/org.eclipse.core.runtime.prefs
new file mode 100644 (file)
index 0000000..cef9197
--- /dev/null
@@ -0,0 +1,3 @@
+#Tue Dec 14 16:29:26 CET 2010
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/com.samsung.linuxplatform.location.core/.settings/org.eclipse.jdt.core.prefs b/com.samsung.linuxplatform.location.core/.settings/org.eclipse.jdt.core.prefs
new file mode 100644 (file)
index 0000000..556f96e
--- /dev/null
@@ -0,0 +1,8 @@
+#Wed Oct 27 11:19:26 KST 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/com.samsung.linuxplatform.location.core/META-INF/MANIFEST.MF b/com.samsung.linuxplatform.location.core/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..ba7228c
--- /dev/null
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: com.samsung.linuxplatform.location.core;singleton:=true
+Bundle-Version: 1.3.20.qualifier
+Bundle-Vendor: %Bundle-Vendor
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: com.samsung.linuxplatform.location.core.injector,
+ com.samsung.linuxplatform.location.core.model,
+ com.samsung.linuxplatform.location.core.protocol
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ com.samsung.freshide.common,
+ com.samsung.linuxplatform.injector,
+ com.samsung.freshide.connection
+Import-Package: com.samsung.freshide.common.model
diff --git a/com.samsung.linuxplatform.location.core/OSGI-INF/l10n/bundle.properties b/com.samsung.linuxplatform.location.core/OSGI-INF/l10n/bundle.properties
new file mode 100644 (file)
index 0000000..c7e82cd
--- /dev/null
@@ -0,0 +1,4 @@
+#Properties file for com.samsung.linuxplatform.location.core
+extension-point.name = Location Injector
+Bundle-Vendor = Samsung Electronics
+Bundle-Name = SLP SDK Location Core
\ No newline at end of file
diff --git a/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/injector/DebugLog.class b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/injector/DebugLog.class
new file mode 100644 (file)
index 0000000..29cd455
Binary files /dev/null and b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/injector/DebugLog.class differ
diff --git a/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/injector/LocationInjector.class b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/injector/LocationInjector.class
new file mode 100644 (file)
index 0000000..529642d
Binary files /dev/null and b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/injector/LocationInjector.class differ
diff --git a/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/model/GeoLocationVO.class b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/model/GeoLocationVO.class
new file mode 100644 (file)
index 0000000..12410c2
Binary files /dev/null and b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/model/GeoLocationVO.class differ
diff --git a/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/AbstractNMEA0183.class b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/AbstractNMEA0183.class
new file mode 100644 (file)
index 0000000..dbd6de6
Binary files /dev/null and b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/AbstractNMEA0183.class differ
diff --git a/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/GeoLocation$Directions.class b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/GeoLocation$Directions.class
new file mode 100644 (file)
index 0000000..36530fd
Binary files /dev/null and b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/GeoLocation$Directions.class differ
diff --git a/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/GeoLocation.class b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/GeoLocation.class
new file mode 100644 (file)
index 0000000..5ccd028
Binary files /dev/null and b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/GeoLocation.class differ
diff --git a/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/IdentifiersConstants.class b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/IdentifiersConstants.class
new file mode 100644 (file)
index 0000000..25d4fb3
Binary files /dev/null and b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/IdentifiersConstants.class differ
diff --git a/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/Messages.class b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/Messages.class
new file mode 100644 (file)
index 0000000..dd6f0d9
Binary files /dev/null and b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/Messages.class differ
diff --git a/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGGA.class b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGGA.class
new file mode 100644 (file)
index 0000000..506e4f0
Binary files /dev/null and b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGGA.class differ
diff --git a/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGSA.class b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGSA.class
new file mode 100644 (file)
index 0000000..ff27d6e
Binary files /dev/null and b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGSA.class differ
diff --git a/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGSV.class b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGSV.class
new file mode 100644 (file)
index 0000000..0f65034
Binary files /dev/null and b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGSV.class differ
diff --git a/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPRMC.class b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPRMC.class
new file mode 100644 (file)
index 0000000..891f8eb
Binary files /dev/null and b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPRMC.class differ
diff --git a/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/SatelliteInfo.class b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/SatelliteInfo.class
new file mode 100644 (file)
index 0000000..a09a425
Binary files /dev/null and b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/SatelliteInfo.class differ
diff --git a/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/messages.properties b/com.samsung.linuxplatform.location.core/bin/com/samsung/linuxplatform/location/core/protocol/messages.properties
new file mode 100644 (file)
index 0000000..f525d05
--- /dev/null
@@ -0,0 +1 @@
+SatelliteInfo_0=Invalid Satellite Info
diff --git a/com.samsung.linuxplatform.location.core/build.properties b/com.samsung.linuxplatform.location.core/build.properties
new file mode 100644 (file)
index 0000000..b40fadf
--- /dev/null
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               OSGI-INF/l10n/bundle.properties
+javacSource = 1.6
+javacTarget = 1.6
diff --git a/com.samsung.linuxplatform.location.core/build.xml b/com.samsung.linuxplatform.location.core/build.xml
new file mode 100644 (file)
index 0000000..8dc5ef5
--- /dev/null
@@ -0,0 +1,345 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="com.samsung.linuxplatform.location.core" default="build.jars" basedir=".">
+
+       <property name="p2.build.repo" value="file:${buildDirectory}/buildRepo"/>
+       <property name="basews" value="${ws}"/>
+       <property name="baseos" value="${os}"/>
+       <property name="basearch" value="${arch}"/>
+       <property name="basenl" value="${nl}"/>
+       <property name="bundleId" value="com.samsung.linuxplatform.location.core"/>
+       <property name="bundleVersion" value="1.3.20.201103241558"/>
+       <property name="p2.publishonerror" value="false"/>
+
+       <!-- Compiler settings. -->
+       <property name="javacFailOnError" value="false"/>
+       <property name="javacDebugInfo" value="on"/>
+       <property name="javacVerbose" value="false"/>
+       <property name="logExtension" value=".log"/>
+       <property name="compilerArg" value=""/>
+       <condition property="dir_bootclasspath" value="${java.home}/../Classes">
+               <os family="mac"/>
+       </condition>
+       <property name="dir_bootclasspath" value="${java.home}/lib"/>
+       <path id="path_bootclasspath">
+               <fileset dir="${dir_bootclasspath}">
+                       <include name="*.jar"/>
+               </fileset>
+       </path>
+       <property name="bootclasspath" refid="path_bootclasspath"/>
+       <property name="bundleJavacSource" value="1.6"/>
+       <property name="bundleJavacTarget" value="1.6"/>
+       <condition property="bundleBootClasspath" value="${JavaSE-1.6}" >
+               <isset property="JavaSE-1.6"/>
+       </condition>
+       <property name="bundleBootClasspath" value="${bootclasspath}"/>
+
+       <target name="init" depends="properties">
+               <condition property="pluginTemp" value="${buildTempFolder}/plugins"             >
+                       <isset property="buildTempFolder"/>
+               </condition>
+               <property name="pluginTemp" value="${basedir}"/>
+               <condition property="build.result.folder" value="${pluginTemp}/com.samsung.linuxplatform.location.core_1.3.20.201103241558"             >
+                       <isset property="buildTempFolder"/>
+               </condition>
+               <property name="build.result.folder" value="${basedir}"/>
+               <property name="temp.folder" value="${basedir}/temp.folder"/>
+               <property name="plugin.destination" value="${basedir}"/>
+               <condition property="p2.publish.parts" value="true"             >
+                       <istrue value="${p2.gathering}"/>
+               </condition>
+               <property name="compilation.problem.marker" value="${build.result.folder}/compilation.problem"/>
+               <condition property="compilation.problem.marker.exists" value="true"            >
+                       <and>
+                       <available file="${compilation.problem.marker}"/>
+                       <isfalse value="p2.publishonerror"/>
+                       </and>
+               </condition>
+       </target>
+
+       <target name="properties" if="eclipse.running">
+               <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+
+       </target>
+
+       <target name="build.update.jar" depends="init" description="Build the plug-in: com.samsung.linuxplatform.location.core for an update site.">
+               <delete dir="${temp.folder}"/>
+               <mkdir dir="${temp.folder}"/>
+               <antcall target="build.jars"/>
+               <antcall target="gather.bin.parts">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <jar destfile="${plugin.destination}/com.samsung.linuxplatform.location.core_1.3.20.201103241558.jar" basedir="${temp.folder}/com.samsung.linuxplatform.location.core_1.3.20.201103241558" filesetmanifest="merge"/>
+               <delete dir="${temp.folder}"/>
+       </target>
+
+       <target name="@dot" depends="init" unless="@dot" description="Create jar: com.samsung.linuxplatform.location.core @dot.">
+               <delete dir="${build.result.folder}/@dot"/>
+               <mkdir dir="${build.result.folder}/@dot"/>
+               <path id="@dot.classpath">
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui_3.5.2.M20100120-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20090525.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.osgi_3.5.2.R35x_v20100126.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800/runtime_registry_compatibility.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.100.v20090413.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.app_1.2.1.R35x_v20091203.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.osgi.services_3.2.0.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/javax.servlet_2.5.0.v200806031605.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.swt_3.5.2.v3557f.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface_3.5.2.M20100120-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.commands_3.5.0.I20090525-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench_3.5.2.M20100113-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/compatibility.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/e4-workbench.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800"/>
+                       <pathelement path="../../../eclipse/plugins/com.ibm.icu_4.0.1.v20090822.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.help_3.4.1.v20090805_35x.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.expressions_3.4.101.R35x_v20100209.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface.databinding_1.3.1.M20090826-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding.observable_1.2.0.M20090902-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding.property_1.2.0.M20090819-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding_1.2.0.M20090819-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.resources.compatibility_3.4.1.R35x_v20100113-0530.jar"/>
+                       <pathelement path="../org.eclipse.core.resources.nl_ko/org.eclipse.core.resources.nl_ko_3.5.0.v20100814074441.jar"/>
+                       <pathelement path="../org.eclipse.core.resources.nl_ko"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ant.core_3.2.101.v20091110_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.variables_3.2.200.v20090521.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filesystem_1.2.1.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filesystem.linux.x86_1.3.0.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../com.samsung.linuxplatform.common/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common_1.3.20.201103241558/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../org.eclipse.ui.ide/bin"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/bin"/>
+                       <pathelement path="../org.eclipse.ui.ide/e4-ide.jar"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/e4-ide.jar"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide/@dot"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/@dot"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.views_3.4.1.M20090826-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface.text_3.5.2.r352_v20091118-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.text_3.5.0.v20090513-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.forms_3.4.1.v20090714_35x.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.engine_1.0.102.R35x_v20091117.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.core_1.0.101.R35x_v20090819.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.metadata_1.0.101.R35x_v20100112.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.metadata.repository_1.0.101.R35x_v20090812.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.repository_1.0.1.R35x_v20100105.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.security_1.0.100.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.filetransfer_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.ssl_1.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.concurrent_1.0.1.R35x_v20100209.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.identity_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.provider.filetransfer_3.0.1.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.net_1.2.1.r35x_20090812-1200.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.net.linux.x86_1.1.0.I20081021.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.artifact.repository_1.0.101.R35x_v20090721.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.100.v20090520-1905.jar"/>
+                       <pathelement path="../com.samsung.linuxplatform.injector/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector_1.3.20.201103241558/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection/bin"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection_1.3.20.201103241558/bin"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.linux/bin/"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.linux/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.windows/bin/"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.windows/@dot"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.console_3.4.0.v20090513.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.texteditor_3.5.1.r352_v20100105.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.compare.core_3.5.0.I20090430-0408.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.debug.ui_3.5.2.v20091028_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.debug.core_3.5.1.v20091103_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.editors_3.5.0.v20090527-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filebuffers_3.5.0.v20090526-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.ui_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.services_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.core_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.efs_2.1.100.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.files.core_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.processes.core_3.1.0.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.shells.core_3.1.0.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.terminals.core_1.0.1.v200908051630.jar"/>
+                       <pathelement path="../../../eclipse/plugins/com.jcraft.jsch_0.1.41.v200903070017.jar"/>
+               </path>
+               <!-- compile the source code -->
+               <javac destdir="${build.result.folder}/@dot" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bundleBootClasspath}" source="${bundleJavacSource}" target="${bundleJavacTarget}"            >
+                       <compilerarg line="${compilerArg}" compiler="${build.compiler}"/>
+                       <classpath refid="@dot.classpath" />
+                       <src path="src/"                        />
+                       <compilerarg value="@${basedir}/javaCompiler...args" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+                       <compilerarg line="-log '${build.result.folder}/@dot${logExtension}'" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+               </javac>
+               <antcall target="checkCompilationResults"/>
+               <!-- Copy necessary resources -->
+               <copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
+                       <fileset dir="src/">
+                               <exclude name="**/*.java"/>
+                               <exclude name="**/package.htm*"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="src.zip" depends="init" unless="src.zip">
+               <mkdir dir="${build.result.folder}"/>
+               <antcall target="zip.src.zip"/>
+       </target>
+       <target name="zip.src.zip">
+               <zip destfile="${build.result.folder}/src.zip" filesonly="false" whenempty="skip" update="false">
+                       <fileset dir="src/">
+                               <include name="**/*.java"/>
+                       </fileset>
+               </zip>
+       </target>
+       <target name="copy.src.zip">
+               <copy todir="${source.destination.folder}/" failonerror="true" overwrite="true">
+                       <fileset dir="src/">
+                               <include name="**/*.java"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="build.jars" depends="init" description="Compile classes and build nested jars for the plug-in: com.samsung.linuxplatform.location.core.">
+               <delete file="${compilation.problem.marker}" quiet="true"/>
+               <available property="@dot" file="${build.result.folder}/@dot"/>
+               <antcall target="@dot"/>
+       </target>
+
+       <target name="checkCompilationResults" if="compilation.error.occured">
+               <echo file="${compilation.problem.marker}" message="com.samsung.linuxplatform.location.core : compilation.error.occured=${compilation.error.occured}"/>
+       </target>
+
+       <target name="build.sources" depends="init">
+               <available property="src.zip" file="${build.result.folder}/src.zip"/>
+               <antcall target="src.zip"/>
+       </target>
+
+       <target name="publish.bin.parts" depends="init" if="p2.publish.parts" unless="compilation.problem.marker.exists">
+               <mkdir dir="${build.result.folder}/com.samsung.linuxplatform.location.core_1.3.20.201103241558"/>
+               <copy todir="${build.result.folder}" failonerror="true" overwrite="true">
+                       <fileset dir="${basedir}">
+                               <include name="META-INF/MANIFEST.MF"/>
+                               <include name="plugin.xml"/>
+                               <include name="fragment.xml"/>
+                       </fileset>
+               </copy>
+               <eclipse.versionReplacer path="${build.result.folder}" version="1.3.20.201103241558"/>
+               <antcall target="apitools.generation">
+                       <param name="target.folder" value="${build.result.folder}"/>
+                       <param name="projectLocation" value="${basedir}"/>
+                       <param name="binary.folders" value="${build.result.folder}/@dot"/>
+                       <param name="projectName" value="${bundleId}_${bundleVersion}"/>
+               </antcall>
+               <eclipse.gatherBundle 
+                  metadataRepository="${p2.build.repo}"
+                  artifactRepository="${p2.build.repo}"
+                  buildResultFolder="${build.result.folder}"
+                  unpack="false"
+                  baseDirectory="${basedir}"
+               />
+       </target>
+
+       <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.location.core_1.3.20.201103241558"/>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.location.core_1.3.20.201103241558" failonerror="true" overwrite="false">
+                       <fileset dir="${build.result.folder}/@dot">
+                               <include name="**"/>
+                       </fileset>
+               </copy>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.location.core_1.3.20.201103241558" failonerror="true" overwrite="true">
+                       <fileset dir="${basedir}">
+                               <include name="META-INF/"/>
+                               <include name="OSGI-INF/l10n/bundle.properties"/>
+                       </fileset>
+               </copy>
+               <eclipse.versionReplacer path="${destination.temp.folder}/com.samsung.linuxplatform.location.core_1.3.20.201103241558" version="1.3.20.201103241558"/>
+               <antcall target="apitools.generation">
+                       <param name="target.folder" value="${destination.temp.folder}/com.samsung.linuxplatform.location.core_1.3.20.201103241558"/>
+                       <param name="projectLocation" value="${basedir}"/>
+                       <param name="binary.folders" value="${build.result.folder}/@dot"/>
+                       <param name="projectName" value="${bundleId}_${bundleVersion}"/>
+               </antcall>
+       </target>
+
+       <target name="build.zips" depends="init">
+       </target>
+
+       <target name="gather.sources" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.location.core_1.3.20.201103241558"/>
+               <copy file="${build.result.folder}/src.zip" todir="${destination.temp.folder}/com.samsung.linuxplatform.location.core_1.3.20.201103241558" failonerror="false" overwrite="false"/>
+               <antcall target="copy.src.includes">
+                       <param name="source.destination.folder" value="${destination.temp.folder}/com.samsung.linuxplatform.location.core_1.3.20.201103241558"/>
+               </antcall>
+       </target>
+
+       <target name="gather.individual.sources" depends="init">
+               <antcall target="copy.src.zip">
+                       <param name="source.destination.folder" value="${destination.temp.folder}"/>
+               </antcall>
+               <antcall target="copy.src.includes">
+                       <param name="source.destination.folder" value="${destination.temp.folder}"/>
+               </antcall>
+       </target>
+
+       <target name="copy.src.includes" depends="init">
+       </target>
+
+       <target name="gather.logs" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.location.core_1.3.20.201103241558"/>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.location.core_1.3.20.201103241558" failonerror="false" overwrite="false">
+                       <fileset dir="${build.result.folder}">
+                               <include name="@dot${logExtension}"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="clean" depends="init" description="Clean the plug-in: com.samsung.linuxplatform.location.core of all the zips, jars and logs created.">
+               <delete dir="${build.result.folder}/@dot"/>
+               <delete file="${build.result.folder}/src.zip"/>
+               <delete file="${plugin.destination}/com.samsung.linuxplatform.location.core_1.3.20.201103241558.jar"/>
+               <delete file="${plugin.destination}/com.samsung.linuxplatform.location.core_1.3.20.201103241558.zip"/>
+               <delete dir="${temp.folder}"/>
+               <delete file="${compilation.problem.marker}" quiet="true"/>
+       </target>
+
+       <target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
+               <eclipse.convertPath fileSystemPath="/home/taeyoung/SLPSDK/git/samsung-sdk-ide/com.samsung.linuxplatform.location.core" property="resourcePath"/>
+               <eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
+       </target>
+
+       <target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: com.samsung.linuxplatform.location.core.">
+               <delete dir="${temp.folder}"/>
+               <mkdir dir="${temp.folder}"/>
+               <antcall target="build.jars"/>
+               <antcall target="build.sources"/>
+               <antcall target="gather.bin.parts">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <antcall target="gather.sources">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <delete>
+                       <fileset dir="${temp.folder}">
+                               <include name="**/*.bin${logExtension}"/>
+                       </fileset>
+               </delete>
+               <zip destfile="${plugin.destination}/com.samsung.linuxplatform.location.core_1.3.20.201103241558.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
+               <delete dir="${temp.folder}"/>
+       </target>
+
+       <target name="apitools.generation" if="generateAPIDescription">
+               <apitooling.apigeneration  projectName="${projectName}" project="${projectLocation}" binary="${binary.folders}" target="${target.folder}"               />
+       </target>
+
+</project>
diff --git a/com.samsung.linuxplatform.location.core/javaCompiler...args b/com.samsung.linuxplatform.location.core/javaCompiler...args
new file mode 100644 (file)
index 0000000..9899e26
--- /dev/null
@@ -0,0 +1,96 @@
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui_3.5.2.M20100120-0800.jar[~org/eclipse/ui/internal/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20090525.jar[~org/eclipse/core/internal/preferences/legacy/*:~org/eclipse/core/internal/runtime/*:+org/eclipse/core/runtime/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.osgi_3.5.2.R35x_v20100126.jar[+org/eclipse/osgi/event/*:+org/eclipse/osgi/framework/console/*:+org/eclipse/osgi/framework/eventmgr/*:+org/eclipse/osgi/framework/log/*:+org/eclipse/osgi/launch/*:+org/eclipse/osgi/service/datalocation/*:+org/eclipse/osgi/service/debug/*:+org/eclipse/osgi/service/environment/*:+org/eclipse/osgi/service/localization/*:+org/eclipse/osgi/service/pluginconversion/*:+org/eclipse/osgi/service/resolver/*:+org/eclipse/osgi/service/runnable/*:+org/eclipse/osgi/service/security/*:+org/eclipse/osgi/service/urlconversion/*:+org/eclipse/osgi/signedcontent/*:+org/eclipse/osgi/storagemanager/*:+org/eclipse/osgi/util/*:+org/osgi/framework/*:+org/osgi/framework/launch/*:+org/osgi/framework/hooks/service/*:+org/osgi/service/condpermadmin/*:~org/osgi/service/framework/*:+org/osgi/service/packageadmin/*:+org/osgi/service/permissionadmin/*:+org/osgi/service/startlevel/*:+org/osgi/service/url/*:+org/osgi/util/tracker/*:~org/eclipse/core/runtime/adaptor/*:~org/eclipse/core/runtime/internal/adaptor/*:~org/eclipse/core/runtime/internal/stats/*:~org/eclipse/osgi/baseadaptor/*:~org/eclipse/osgi/baseadaptor/bundlefile/*:~org/eclipse/osgi/baseadaptor/hooks/*:~org/eclipse/osgi/baseadaptor/loader/*:~org/eclipse/osgi/framework/adaptor/*:~org/eclipse/osgi/framework/debug/*:~org/eclipse/osgi/framework/internal/core/*:~org/eclipse/osgi/framework/internal/protocol/*:~org/eclipse/osgi/framework/internal/protocol/bundleentry/*:~org/eclipse/osgi/framework/internal/protocol/bundleresource/*:~org/eclipse/osgi/framework/internal/protocol/reference/*:~org/eclipse/osgi/framework/internal/reliablefile/*:~org/eclipse/osgi/framework/util/*:~org/eclipse/osgi/internal/baseadaptor/*:~org/eclipse/osgi/internal/composite/*:~org/eclipse/osgi/internal/loader/*:~org/eclipse/osgi/internal/loader/buddy/*:~org/eclipse/osgi/internal/module/*:~org/eclipse/osgi/internal/profile/*:~org/eclipse/osgi/internal/resolver/*:~org/eclipse/osgi/internal/serviceregistry/*:~org/eclipse/osgi/internal/permadmin/*:~org/eclipse/osgi/internal/provisional/service/security/*:~org/eclipse/osgi/internal/provisional/verifier/*:~org/eclipse/osgi/internal/service/security/*:~org/eclipse/osgi/internal/signedcontent/*:~org/eclipse/osgi/service/internal/composite/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar[~org/eclipse/core/internal/boot/*:~org/eclipse/core/internal/runtime/*:+org/eclipse/core/runtime/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar[~org/eclipse/core/internal/jobs/*:+org/eclipse/core/runtime/jobs/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800/runtime_registry_compatibility.jar[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar[~org/eclipse/core/internal/preferences/*:~org/eclipse/core/internal/preferences/exchange/*:+org/eclipse/core/runtime/preferences/*:+org/osgi/service/prefs/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar[~org/eclipse/core/internal/content/*:+org/eclipse/core/runtime/content/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.100.v20090413.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.app_1.2.1.R35x_v20091203.jar[+org/eclipse/equinox/app/*:~org/eclipse/equinox/internal/app/*:+org/osgi/service/application/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.osgi.services_3.2.0.v20090520-1800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/javax.servlet_2.5.0.v200806031605.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.swt_3.5.2.v3557f.jar[+org/eclipse/swt/*:+org/eclipse/swt/accessibility/*:+org/eclipse/swt/awt/*:+org/eclipse/swt/browser/*:+org/eclipse/swt/custom/*:+org/eclipse/swt/dnd/*:+org/eclipse/swt/events/*:+org/eclipse/swt/graphics/*:+org/eclipse/swt/layout/*:+org/eclipse/swt/opengl/*:+org/eclipse/swt/printing/*:+org/eclipse/swt/program/*:+org/eclipse/swt/widgets/*:~org/eclipse/swt/internal/*:~org/eclipse/swt/internal/image/*:~org/eclipse/swt/internal/theme/*:~org/eclipse/swt/internal/accessibility/gtk/*:~org/eclipse/swt/internal/cairo/*:~org/eclipse/swt/internal/cde/*:~org/eclipse/swt/internal/gnome/*:~org/eclipse/swt/internal/gtk/*:~org/eclipse/swt/internal/mozilla/*:~org/eclipse/swt/internal/opengl/glx/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar[+org/eclipse/swt/*:+org/eclipse/swt/accessibility/*:+org/eclipse/swt/awt/*:+org/eclipse/swt/browser/*:+org/eclipse/swt/custom/*:+org/eclipse/swt/dnd/*:+org/eclipse/swt/events/*:+org/eclipse/swt/graphics/*:+org/eclipse/swt/layout/*:+org/eclipse/swt/opengl/*:+org/eclipse/swt/printing/*:+org/eclipse/swt/program/*:+org/eclipse/swt/widgets/*:~org/eclipse/swt/internal/*:~org/eclipse/swt/internal/image/*:~org/eclipse/swt/internal/theme/*:~org/eclipse/swt/internal/accessibility/gtk/*:~org/eclipse/swt/internal/cairo/*:~org/eclipse/swt/internal/cde/*:~org/eclipse/swt/internal/gnome/*:~org/eclipse/swt/internal/gtk/*:~org/eclipse/swt/internal/mozilla/*:~org/eclipse/swt/internal/opengl/glx/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface_3.5.2.M20100120-0800.jar[+org/eclipse/jface/*:+org/eclipse/jface/action/*:+org/eclipse/jface/action/images/*:+org/eclipse/jface/bindings/*:+org/eclipse/jface/bindings/keys/*:+org/eclipse/jface/bindings/keys/formatting/*:+org/eclipse/jface/commands/*:+org/eclipse/jface/contexts/*:+org/eclipse/jface/dialogs/*:+org/eclipse/jface/dialogs/images/*:+org/eclipse/jface/fieldassist/*:+org/eclipse/jface/fieldassist/images/*:+org/eclipse/jface/images/*:~org/eclipse/jface/internal/*:~org/eclipse/jface/internal/provisional/action/*:+org/eclipse/jface/layout/*:+org/eclipse/jface/menus/*:+org/eclipse/jface/operation/*:+org/eclipse/jface/preference/*:+org/eclipse/jface/preference/images/*:+org/eclipse/jface/resource/*:+org/eclipse/jface/util/*:+org/eclipse/jface/viewers/*:+org/eclipse/jface/viewers/deferred/*:+org/eclipse/jface/window/*:+org/eclipse/jface/wizard/*:+org/eclipse/jface/wizard/images/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.commands_3.5.0.I20090525-2000.jar[+org/eclipse/core/commands/*:+org/eclipse/core/commands/common/*:+org/eclipse/core/commands/contexts/*:+org/eclipse/core/commands/operations/*:+org/eclipse/core/commands/util/*:~org/eclipse/core/internal/commands/operations/*:~org/eclipse/core/internal/commands/util/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench_3.5.2.M20100113-0800.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/compatibility.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/e4-workbench.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/com.ibm.icu_4.0.1.v20090822.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.help_3.4.1.v20090805_35x.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.expressions_3.4.101.R35x_v20100209.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface.databinding_1.3.1.M20090826-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding.observable_1.2.0.M20090902-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding.property_1.2.0.M20090819-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding_1.2.0.M20090819-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.resources.compatibility_3.4.1.R35x_v20100113-0530.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.core.resources.nl_ko/org.eclipse.core.resources.nl_ko_3.5.0.v20100814074441.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.core.resources.nl_ko[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ant.core_3.2.101.v20091110_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.variables_3.2.200.v20090521.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filesystem_1.2.1.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filesystem.linux.x86_1.3.0.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common/bin/[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common_1.3.20.201103241558/bin/[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common/@dot[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/bin[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/bin[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/e4-ide.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/e4-ide.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/@dot[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/@dot[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.views_3.4.1.M20090826-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface.text_3.5.2.r352_v20091118-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.text_3.5.0.v20090513-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.forms_3.4.1.v20090714_35x.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.engine_1.0.102.R35x_v20091117.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.core_1.0.101.R35x_v20090819.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.metadata_1.0.101.R35x_v20100112.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.metadata.repository_1.0.101.R35x_v20090812.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.repository_1.0.1.R35x_v20100105.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.security_1.0.100.v20090520-1800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.filetransfer_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.ssl_1.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.concurrent_1.0.1.R35x_v20100209.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.identity_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.provider.filetransfer_3.0.1.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.net_1.2.1.r35x_20090812-1200.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.net.linux.x86_1.1.0.I20081021.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.artifact.repository_1.0.101.R35x_v20090721.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.100.v20090520-1905.jar[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector/bin/[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector_1.3.20.201103241558/bin/[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector/@dot[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection/bin[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection_1.3.20.201103241558/bin[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection/@dot[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.linux/bin/[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.linux/@dot[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.windows/bin/[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.windows/@dot[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.console_3.4.0.v20090513.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.texteditor_3.5.1.r352_v20100105.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.compare.core_3.5.0.I20090430-0408.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.debug.ui_3.5.2.v20091028_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.debug.core_3.5.1.v20091103_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.editors_3.5.0.v20090527-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filebuffers_3.5.0.v20090526-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.ui_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.services_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.core_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.efs_2.1.100.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.files.core_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.processes.core_3.1.0.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.shells.core_3.1.0.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.terminals.core_1.0.1.v200908051630.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/com.jcraft.jsch_0.1.41.v200903070017.jar[?**/*]
diff --git a/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/injector/DebugLog.java b/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/injector/DebugLog.java
new file mode 100644 (file)
index 0000000..6321b95
--- /dev/null
@@ -0,0 +1,12 @@
+/****************************************************************************************\r
+ * Copyright (c) 2010 Samsung Electronics Co.\r
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html\r
+ ****************************************************************************************/\r
+\r
+package com.samsung.linuxplatform.location.core.injector;\r
+\r
+public class DebugLog {\r
+       public static void log(Object msg) {\r
+               System.out.println(msg);\r
+       }\r
+}\r
diff --git a/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/injector/LocationInjector.java b/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/injector/LocationInjector.java
new file mode 100644 (file)
index 0000000..64eef43
--- /dev/null
@@ -0,0 +1,208 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.location.core.injector;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+
+import com.samsung.freshide.common.model.ITableVO;
+import com.samsung.freshide.connection.device.DeviceChecker;
+import com.samsung.freshide.connection.device.DeviceLauncherManager;
+import com.samsung.freshide.connection.device.DeviceManager;
+import com.samsung.freshide.connection.device.IDeviceListener;
+import com.samsung.freshide.connection.machine.IMachine;
+import com.samsung.linuxplatform.injector.socket.LocationSocket;
+//import com.samsung.linuxplatform.location.core.injector.DebugLog;
+import com.samsung.linuxplatform.location.core.model.GeoLocationVO;
+import com.samsung.linuxplatform.location.core.protocol.AbstractNMEA0183;
+import com.samsung.linuxplatform.location.core.protocol.GeoLocation;
+import com.samsung.linuxplatform.location.core.protocol.NMEA0183_GPRMC;
+
+public class LocationInjector implements IDeviceListener {
+       private IProgressMonitor monitor;
+
+       public LocationInjector() {
+               DeviceLauncherManager.addDeviceListener(this);
+//             TargetConnectionControl.addTargetConnectionListener(this);
+       }
+
+       public void inject(final File filename, IProgressMonitor monitor) throws IOException {
+               if (monitor == null) {
+                       monitor = new NullProgressMonitor();
+               }
+               
+               setMonitor(monitor);
+
+               BufferedReader br;
+
+               while(true) {
+                       br = new BufferedReader(new FileReader(filename));
+       
+                       String line = "";
+                       while (line != null) {
+                               line = br.readLine();
+                               if (line == null) {
+                                       break;
+                               }
+                               
+                               if (!line.startsWith("$GPRMC")) {
+                                       continue;
+                               }
+       
+//                             DebugLog.log("[Injector] File: " + line);
+                               
+                               try {
+                                       LocationSocket.getInstance().send(line.concat("\n"));
+                               } catch (Exception e) {
+                                       // TODO Auto-generated catch block
+                                       e.printStackTrace();
+                               }
+
+                               synchronized (monitor) {
+                                       try {
+                                               monitor.wait(1000);
+                                       } catch (InterruptedException e) {
+                                               // TODO Auto-generated catch block
+                                               e.printStackTrace();
+                                       }
+                               }
+
+                               if (monitor.isCanceled()) {
+//                                     DebugLog.log("[Injector] Canceled");
+                                       br.close();
+                                       
+                                       return;
+                               }
+                       }
+               }
+       }
+       
+       public void inject(GeoLocation location, IProgressMonitor monitor) throws IOException {
+               if (monitor == null) {
+                       monitor = new NullProgressMonitor();
+               }
+               
+               setMonitor(monitor);
+       
+               while(true) {
+                       AbstractNMEA0183 sentence = new NMEA0183_GPRMC(location.getLatitude(), location.getLongitude());
+                       
+//                     DebugLog.log("[Injector] NMEA: " + sentence.getSentence());
+                       
+                       try {
+                               LocationSocket.getInstance().send(sentence.getSentence().concat("\n"));
+                       } catch (Exception e) {
+                               // TODO Auto-generated catch block
+                               e.printStackTrace();
+                       }
+                       
+                       synchronized (monitor) {
+                               try {
+                                       monitor.wait(1000);
+                               } catch (InterruptedException e) {
+                                       // TODO Auto-generated catch block
+                                       e.printStackTrace();
+                               }
+                       }
+
+                       if (monitor.isCanceled()) {
+//                             DebugLog.log("[Injector] Canceled");
+                               
+                               return;
+                       }
+               }
+       }
+
+       public void inject(ITableVO[] locations, IProgressMonitor monitor) throws IOException {
+               if (monitor == null) {
+                       monitor = new NullProgressMonitor();
+               }
+               
+               setMonitor(monitor);
+
+               while(true) {
+                       for (int i = 0; i < locations.length; i++) {
+                               GeoLocationVO location = (GeoLocationVO) locations[i];
+                               AbstractNMEA0183 sentence = new NMEA0183_GPRMC(location.getLocation().getLatitude(), location.getLocation().getLongitude());
+//                             DebugLog.log("[Injector] NMEA: " + sentence.getSentence());
+                               
+                               try {
+                                       LocationSocket.getInstance().send(sentence.getSentence().concat("\n"));
+                               } catch (Exception e) {
+                                       // TODO Auto-generated catch block
+                                       e.printStackTrace();
+                               }
+                               
+                               synchronized (monitor) {
+                                       try {
+                                               monitor.wait(1000);
+                                       } catch (InterruptedException e) {
+                                               // TODO Auto-generated catch block
+                                               e.printStackTrace();
+                                       }
+                               }
+                                                       
+                               if (monitor.isCanceled()) {
+//                                     DebugLog.log("[Injector] Canceled");
+                               
+                                       return;
+                               }
+                       }
+               }
+       }
+
+       public void setCancel(boolean canceled) {
+               this.monitor.setCanceled(canceled);
+       }
+       
+       public void setMonitor(IProgressMonitor monitor) {
+               this.monitor = monitor;
+       }
+       
+       //@Override
+       public void connect() { 
+       }
+       
+//     @Override
+       public void disconnect() {
+               setCancel(true);
+       }
+       
+       @Override
+       protected void finalize() throws Throwable {
+               DeviceLauncherManager.removeDeviceListener(this);
+//             TargetConnectionControl.removeTargetConnectionListener(this);
+               super.finalize();
+       }
+
+       @Override
+       public void StatusChanged(int Event) {
+               // TODO Auto-generated method stub
+               if( DeviceManager.getSelectedDevice().getMachineType() == IMachine.VIRTUAL_DEVICE){
+                       if (Event == IDeviceListener.RUNNING) {
+                               connect();
+                       }
+                       else if( Event == IDeviceListener.NOT_RUNNING){
+                               disconnect();
+                       }
+               }
+       }
+
+       @Override
+       public void ConnectionChanged() {
+               if (DeviceChecker.hasActiveVirtualDevice( DeviceManager.getSelectedDevice().getMachineId() )) {
+                       connect();
+               }
+               else {
+                       disconnect();
+               }
+       }
+}
diff --git a/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/model/GeoLocationVO.java b/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/model/GeoLocationVO.java
new file mode 100644 (file)
index 0000000..a1fb881
--- /dev/null
@@ -0,0 +1,67 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.location.core.model;
+
+import com.samsung.freshide.common.model.AbstractTableVO;
+import com.samsung.linuxplatform.location.core.protocol.GeoLocation;
+
+public class GeoLocationVO extends AbstractTableVO {
+       private int seq;
+       private GeoLocation location;
+       
+       public int getSeq() {
+               return this.seq;
+       }
+       
+       public void setSeq(int seq) {
+               this.seq = seq;
+       }
+       
+       public GeoLocation getLocation() {
+               return this.location;
+       }
+       
+       public void setLocation(GeoLocation location) {
+               this.location = location;
+       }
+       
+       private String getLatitudeString() {
+               return getLocation().getNorthSouth() + "," + Double.toString(Math.abs(getLocation().getLatitude())); //$NON-NLS-1$
+       }
+       
+       private String getLongitudeString() {
+               return getLocation().getEastWest() + "," + Double.toString(Math.abs(getLocation().getLongitude())); //$NON-NLS-1$
+       }
+
+       @Override
+       public String[] getColumnNames() {
+               return null;
+       }
+
+       @Override
+       public Object getColumnValue(int index) {
+               Object obj = null;
+               switch(index) {
+                       case 0:
+                               obj = getSeq();
+                               break;
+                       case 1:
+                               obj = getLatitudeString();
+                               break;
+                       case 2:
+                               obj = getLongitudeString();
+                               break;
+                       default:
+                               break;                  
+               }
+
+               return obj;
+       }
+
+       @Override
+       public void setColumnValue(int index, Object value) { 
+       }
+}
diff --git a/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/AbstractNMEA0183.java b/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/AbstractNMEA0183.java
new file mode 100644 (file)
index 0000000..152b8f4
--- /dev/null
@@ -0,0 +1,74 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.location.core.protocol;
+
+import java.util.ArrayList;
+import java.util.Formatter;
+import java.util.List;
+import java.util.Locale;
+
+public abstract class AbstractNMEA0183 {
+       private static String PREFIX = "$"; //$NON-NLS-1$
+       private static String DELIMITER = ","; //$NON-NLS-1$
+       private static String CHECKSUM_PREFIX = "*"; //$NON-NLS-1$
+       
+       private String sentenceID;
+       private List<String> body;
+       private String fullSentence;
+       private int checksum = 0;
+       
+       protected static String NULL = ""; //$NON-NLS-1$
+       
+       public AbstractNMEA0183(String sentenceID) {
+               this.sentenceID = sentenceID;
+       }
+       
+       public String getSentence() {
+               StringBuilder sb = new StringBuilder();
+               Formatter hexFormatter = new Formatter(sb, Locale.US);
+               hexFormatter.format("%02x", checksum); //$NON-NLS-1$
+               
+               String sentence = PREFIX.concat(fullSentence);
+
+               sentence += CHECKSUM_PREFIX;
+               sentence += sb.toString().toUpperCase();
+                       
+               return sentence;
+       }
+       
+       protected List<String> getBody() {
+               return body;
+       }
+       
+       
+       protected void createSentence() {
+               body = new ArrayList<String>();
+               createBody();
+               createChecksum();
+       }
+       
+       private void createChecksum() {
+               fullSentence = sentenceID;
+               
+               for (int i = 0; i < body.size(); i++) {
+                       fullSentence += DELIMITER;
+                       fullSentence += body.get(i);
+               }
+                       
+               for (int i = 0; i < fullSentence.length(); i++) {
+                       checksum = checksum ^ fullSentence.charAt(i);
+               }
+       }
+       
+       abstract protected void createBody();
+       abstract protected boolean validate();
+       
+//     public enum Directions {
+//             NORTH, SOUTH, EAST, WEST
+//     }
+}
+
+
diff --git a/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/GeoLocation.java b/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/GeoLocation.java
new file mode 100644 (file)
index 0000000..76ccd95
--- /dev/null
@@ -0,0 +1,93 @@
+/****************************************************************************************\r
+ * Copyright (c) 2010 Samsung Electronics Co.\r
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html\r
+ ****************************************************************************************/\r
+\r
+package com.samsung.linuxplatform.location.core.protocol;\r
+\r
+public class GeoLocation {\r
+       \r
+       public enum Directions {\r
+               NORTH, SOUTH, EAST, WEST\r
+       }\r
+       \r
+       private double latitude;\r
+       private double NMEAlatitude;\r
+       private Directions northSouth;\r
+       private double longitude;\r
+       private double NMEAlongitude;\r
+       private Directions eastWest;\r
+       \r
+       public GeoLocation(double latitude, double longitude) {\r
+               setLatitude(latitude);\r
+               setLongitude(longitude);\r
+       }\r
+       \r
+       public double getLatitude() {\r
+               return this.latitude;\r
+       }\r
+       \r
+       public double getLongitude() {\r
+               return this.longitude;\r
+       }\r
+       \r
+       public String getNorthSouth() {\r
+               return northSouth == Directions.NORTH ? "N" : "S"; //$NON-NLS-1$ //$NON-NLS-2$\r
+       }\r
+\r
+       public String getEastWest() {\r
+               return eastWest == Directions.EAST ? "E" : "W"; //$NON-NLS-1$ //$NON-NLS-2$\r
+       }\r
+\r
+       public double getNMEAlatitude() {\r
+               return NMEAlatitude;\r
+       }\r
+\r
+       public double getNMEAlongitude() {\r
+               return NMEAlongitude;\r
+       }\r
+\r
+       public void setLatitude(double latitude) {\r
+               this.latitude = latitude;\r
+               \r
+               if (latitude < 0) {\r
+                       setNorthSouth(Directions.SOUTH);\r
+               } else {\r
+                       setNorthSouth(Directions.NORTH);\r
+               }\r
+               setNMEAlatitude(Math.abs(latitude));\r
+       }\r
+\r
+       public void setLongitude(double longitude) {\r
+               this.longitude = longitude;\r
+               \r
+               if (longitude < 0) {\r
+                       setEastWest(Directions.WEST);\r
+               } else {\r
+                       setEastWest(Directions.EAST);\r
+               }\r
+               setNMEAlongitude(Math.abs(longitude));\r
+       }\r
+       \r
+       private void setNorthSouth(Directions northSouth) {\r
+               this.northSouth = northSouth;\r
+       }\r
+\r
+       private void setEastWest(Directions eastWest) {\r
+               this.eastWest = eastWest;\r
+       }\r
+\r
+       private void setNMEAlatitude(double latitude) {\r
+               int degree = (int) latitude;\r
+               double minutes = (double) ((latitude - degree) * 60);\r
+               \r
+               this.NMEAlatitude = (double) ((degree * 100) + minutes);\r
+       }\r
+\r
+       private void setNMEAlongitude(double longitude) {\r
+               int degree = (int) longitude;\r
+               double minutes = (double) ((longitude - degree) * 60);\r
+               \r
+               this.NMEAlongitude = (double) ((degree * 100) + minutes);\r
+       }\r
+}
\ No newline at end of file
diff --git a/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/IdentifiersConstants.java b/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/IdentifiersConstants.java
new file mode 100644 (file)
index 0000000..89d1e45
--- /dev/null
@@ -0,0 +1,99 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.location.core.protocol;
+
+public class IdentifiersConstants {
+       
+       //             1 2 3 4 5 6 7     cn
+       //             | | | | | | |     |
+       //      $--GSV,x,x,x,x,x,x,x,...*hh
+       //      1) total number of messages
+       //      2) message number
+       //      3) satellites in view
+       //      4) satellite number
+       //      5) elevation in degrees
+       //      6) azimuth in degrees to true
+       //      7) SNR in dB
+       //      more satellite infos like 4)-7)
+       //      n) Checksum
+       public static String SATELITES_IN_VIEW = "GPGSV"; //$NON-NLS-1$
+       
+       //                                                           11
+       //             1         2       3 4        5 6 7  8   9  10 |  12 13  14   15
+       //             |         |       | |        | | |  |   |   | |   | |   |    |
+       //      $--GGA,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh
+       //      1) Time (UTC)
+       //      2) Latitude
+       //      3) N or S (North or South)
+       //      4) Longitude
+       //      5) E or W (East or West)
+       //      6) GPS Quality Indicator,
+       //      0 - fix not available,
+       //      1 - GPS fix,
+       //      2 - Differential GPS fix
+       //      7) Number of satellites in view, 00 - 12
+       //      8) Horizontal Dilution of precision
+       //      9) Antenna Altitude above/below mean-sea-level (geoid)
+       //      10) Units of antenna altitude, meters
+       //      11) Geoidal separation, the difference between the WGS-84 earth
+       //      ellipsoid and mean-sea-level (geoid), "-" means mean-sea-level below ellipsoid
+       //      12) Units of geoidal separation, meters
+       //      13) Age of differential GPS data, time in seconds since last SC104
+       //      type 1 or 9 update, null field when DGPS is not used
+       //      14) Differential reference station ID, 0000-1023
+       //      15) Checksum
+       public static String GPS_FIX_DATA_TIME_POSITION_AND_FIX_RELATED_DATA = "GPGGA"; //$NON-NLS-1$
+       
+       //                                                              14      
+       //             1 2   3 4    5    6       7 8        9 10  11  12  13|
+       //             | |   | |    |    |       | |        | |   |   |   | |
+       //      $--RMB,A,x.x,a,c--c,c--c,llll.ll,a,yyyyy.yy,a,x.x,x.x,x.x,A*hh
+       //      1) Status, V = Navigation receiver warning
+       //      2) Cross Track error - nautical miles
+       //      3) Direction to Steer, Left or Right
+       //      4) TO Waypoint ID
+       //      5) FROM Waypoint ID
+       //      6) Destination Waypoint Latitude
+       //      7) N or S
+       //      8) Destination Waypoint Longitude
+       //      9) E or W
+       //      10) Range to destination in nautical miles
+       //      11) Bearing to destination in degrees True
+       //      12) Destination closing velocity in knots
+       //      13) Arrival Status, A = Arrival Circle Entered
+       //      14) Checksum
+       public static String RECOMMENDED_MINIMUM_NAVIGATION_INFORMATION = "GPRMC"; //$NON-NLS-1$
+       
+       //             1 2 3                         14 15  16  17 18
+       //             | | |                         |  |   |   |  |
+       //      $--GSA,a,a,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x.x,x.x,x.x*hh
+       //      1) Selection mode
+       //      2) Mode
+       //      3) ID of 1st satellite used for fix
+       //      4) ID of 2nd satellite used for fix
+       //      ...
+       //      14) ID of 12th satellite used for fix
+       //      15) PDOP in meters
+       //      16) HDOP in meters
+       //      17) VDOP in meters
+       //      18) Checksum
+       public static String GPS_DOP_AND_ACTIVE_SATELITES = "GPGSA"; //$NON-NLS-1$
+       
+       
+       //             1   2 3   4 5   6 7   8 9
+       //             |   | |   | |   | |   | |
+       //      $--VTG,x.x,T,x.x,M,x.x,N,x.x,K*hh
+       //      1) Track Degrees
+       //      2) T = True
+       //      3) Track Degrees
+       //      4) M = Magnetic
+       //      5) Speed Knots
+       //      6) N = Knots
+       //      7) Speed Kilometers Per Hour
+       //      8) K = Kilometres Per Hour
+       //      9) Checksum
+       public static String TRACK_MODE_GOOD_AND_GROUND_SPEED = "GPVGT"; //$NON-NLS-1$
+}
diff --git a/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/Messages.java b/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/Messages.java
new file mode 100644 (file)
index 0000000..4200410
--- /dev/null
@@ -0,0 +1,15 @@
+package com.samsung.linuxplatform.location.core.protocol;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+       private static final String BUNDLE_NAME = "com.samsung.linuxplatform.location.core.protocol.messages"; //$NON-NLS-1$
+       public static String SatelliteInfo_0;
+       static {
+               // initialize resource bundle
+               NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+       }
+
+       private Messages() {
+       }
+}
diff --git a/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGGA.java b/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGGA.java
new file mode 100644 (file)
index 0000000..e253721
--- /dev/null
@@ -0,0 +1,92 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.location.core.protocol;
+
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+public class NMEA0183_GPGGA extends AbstractNMEA0183 {
+       
+       //                                                           11
+       //             1         2       3 4        5 6 7  8   9  10 |  12 13  14   15
+       //             |         |       | |        | | |  |   |   | |   | |   |    |
+       //      $--GGA,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh
+       //      1) Time (UTC)
+       //      2) Latitude
+       //      3) N or S (North or South)
+       //      4) Longitude
+       //      5) E or W (East or West)
+       //      6) GPS Quality Indicator,
+       //      0 - fix not available,
+       //      1 - GPS fix,
+       //      2 - Differential GPS fix
+       //      7) Number of satellites in view, 00 - 12
+       //      8) Horizontal Dilution of precision
+       //      9) Antenna Altitude above/below mean-sea-level (geoid)
+       //      10) Units of antenna altitude, meters
+       //      11) Geoidal separation, the difference between the WGS-84 earth
+       //      ellipsoid and mean-sea-level (geoid), "-" means mean-sea-level below ellipsoid
+       //      12) Units of geoidal separation, meters
+       //      13) Age of differential GPS data, time in seconds since last SC104
+       //      type 1 or 9 update, null field when DGPS is not used
+       //      14) Differential reference station ID, 0000-1023
+       //      15) Checksum
+       private Date currentDate;
+       
+       private String date;
+       private GeoLocation location;
+       private String qualityIndicator = "1"; //$NON-NLS-1$
+       private int numOfSatellites = 5;
+       private double hdop = 0.0;
+       private double altitude = 0.0;
+       private String altitudeUnit = "M"; //$NON-NLS-1$
+       
+       public NMEA0183_GPGGA() {
+               this(0.0, 0.0);
+       }
+               
+       public NMEA0183_GPGGA(double latitude, double longitude) {
+               super("GPGGA"); //$NON-NLS-1$
+               
+               currentDate = new Date();
+               SimpleDateFormat format = new SimpleDateFormat("HHmmss.0"); //$NON-NLS-1$
+               date = format.format(currentDate);
+               
+               location = new GeoLocation(latitude, longitude);
+               
+               createSentence();
+       }
+
+       @Override
+       protected void createBody() {
+               DecimalFormat latitudeFormat = new DecimalFormat("0000.000000"); //$NON-NLS-1$
+               DecimalFormat longitudeFormat = new DecimalFormat("00000.000000"); //$NON-NLS-1$
+               DecimalFormat numOfSatellitesFormat = new DecimalFormat("00"); //$NON-NLS-1$
+               DecimalFormat hdopFormat = new DecimalFormat("0.0"); //$NON-NLS-1$
+               DecimalFormat altitudeFormat = new DecimalFormat("###0.0"); //$NON-NLS-1$
+               
+               getBody().add(date);
+               getBody().add(latitudeFormat.format(location.getNMEAlatitude()));
+               getBody().add(location.getNorthSouth());
+               getBody().add(longitudeFormat.format(location.getNMEAlongitude()));
+               getBody().add(location.getEastWest());
+               getBody().add(qualityIndicator);
+               getBody().add(numOfSatellitesFormat.format(numOfSatellites));
+               getBody().add(hdopFormat.format(hdop));
+               getBody().add(altitudeFormat.format(altitude));
+               getBody().add(altitudeUnit);
+               getBody().add(NULL);
+               getBody().add(NULL);
+               getBody().add(NULL);
+               getBody().add(NULL);
+       }
+
+       @Override
+       protected boolean validate() {
+               return true;
+       }
+}
diff --git a/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGSA.java b/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGSA.java
new file mode 100644 (file)
index 0000000..8444add
--- /dev/null
@@ -0,0 +1,61 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.location.core.protocol;
+
+import java.text.DecimalFormat;
+
+public class NMEA0183_GPGSA extends AbstractNMEA0183 {
+       
+       //             1 2 3                         14 15  16  17 18
+       //             | | |                         |  |   |   |  |
+       //      $--GSA,a,a,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x.x,x.x,x.x*hh
+       //      1) Selection mode
+       //      2) Mode
+       //      3) ID of 1st satellite used for fix
+       //      4) ID of 2nd satellite used for fix
+       //      ...
+       //      14) ID of 12th satellite used for fix
+       //      15) PDOP in meters
+       //      16) HDOP in meters
+       //      17) VDOP in meters
+       //      18) Checksum    
+       private static String selectionMode = "A"; //$NON-NLS-1$
+       private static String mode = "3"; //$NON-NLS-1$
+       private int[] satellteIDs = { 1, 2, 3, 4, 5 };
+       private double pdop = 0.0;
+       private double hdop = 0.0;
+       private double vdop = 0.0;
+               
+       public NMEA0183_GPGSA() {
+               super("GPGSA"); //$NON-NLS-1$
+               
+               createSentence();
+       }
+
+       @Override
+       protected void createBody() {
+               DecimalFormat setelliteIDFormat = new DecimalFormat("00"); //$NON-NLS-1$
+               DecimalFormat dopFormat = new DecimalFormat("0.0"); //$NON-NLS-1$
+               
+               getBody().add(selectionMode);
+               getBody().add(mode);
+               for(int i = 0; i < 12; i++) {
+                       if (i >= satellteIDs.length) {
+                               getBody().add(NULL);
+                       } else {
+                               getBody().add(setelliteIDFormat.format(satellteIDs[i]));
+                       }
+               }
+               getBody().add(dopFormat.format(pdop));
+               getBody().add(dopFormat.format(hdop));
+               getBody().add(dopFormat.format(vdop));
+       }
+
+       @Override
+       protected boolean validate() {
+               return true;
+       }
+}
diff --git a/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGSV.java b/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPGSV.java
new file mode 100644 (file)
index 0000000..de84f6b
--- /dev/null
@@ -0,0 +1,85 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.location.core.protocol;
+
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.List;
+
+public class NMEA0183_GPGSV extends AbstractNMEA0183 {
+       
+       //             1 2 3 4 5 6 7     cn
+       //             | | | | | | |     |
+       //      $--GSV,x,x,x,x,x,x,x,...*hh
+       //      1) total number of messages
+       //      2) message number
+       //      3) satellites in view
+       //      4) satellite number
+       //      5) elevation in degrees
+       //      6) azimuth in degrees to true
+       //      7) SNR in dB
+       //      more satellite infos like 4)-7)
+       //      n) Checksum
+       private int numTotalMessage = 3;
+       private int seq;
+       private int satellitesInView = 10;
+       private SatelliteInfo[] satellites;
+       
+       public NMEA0183_GPGSV(int seq) {
+               this(seq, createDefaultSatellites(seq));
+       }
+       
+       public NMEA0183_GPGSV(int seq, SatelliteInfo[] satellites) {
+               super("GPGSV"); //$NON-NLS-1$
+               
+               this.seq = seq;
+               this.satellites = satellites;
+               
+               createSentence();
+       }
+
+       @Override
+       protected void createBody() {
+               DecimalFormat numberFormat = new DecimalFormat("##0"); //$NON-NLS-1$
+               DecimalFormat satellitesIDFormat = new DecimalFormat("00"); //$NON-NLS-1$
+               
+               getBody().add(numberFormat.format(numTotalMessage));
+               getBody().add(numberFormat.format(seq));
+               getBody().add(numberFormat.format(satellitesInView));
+               
+               // TODO: limitation "number of satellites"
+               for (int i = 0; i < satellites.length; i++) {
+                       getBody().add(satellitesIDFormat.format(satellites[i].getId()));
+                       getBody().add(numberFormat.format(satellites[i].getElevation()));
+                       getBody().add(numberFormat.format(satellites[i].getAzimuth()));
+                       if (satellites[i].getSnr() == 0) {
+                               getBody().add(NULL);
+                       } else {
+                               getBody().add(numberFormat.format(satellites[i].getSnr()));
+                       }
+               }       
+       }
+
+       @Override
+       protected boolean validate() {
+               return true;
+       }
+       
+       private static SatelliteInfo[] createDefaultSatellites(int seq) {
+               List<SatelliteInfo> satellites = new ArrayList<SatelliteInfo>();
+               int numOfSatellites = 4;
+               
+               if (seq == 3) {
+                       numOfSatellites = 2;
+               }
+               
+               for (int i = 1; i <= numOfSatellites; i++) {
+                       satellites.add(new SatelliteInfo(((4 * (seq - 1)) + i), 45, 300, 0));
+               }
+               
+               return satellites.toArray(new SatelliteInfo[satellites.size()]);
+       }
+}
diff --git a/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPRMC.java b/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/NMEA0183_GPRMC.java
new file mode 100644 (file)
index 0000000..c966cee
--- /dev/null
@@ -0,0 +1,84 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.location.core.protocol;
+
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+public class NMEA0183_GPRMC extends AbstractNMEA0183 {
+       
+       //                                                                 12
+       //             1         2 3       4 5        6 7   8   9    10  11|
+       //             |         | |       | |        | |   |   |    |   | |
+       //      $--RMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,xxxx,x.x,a*hh
+       //      1) Time (UTC)
+       //      2) Status, V = Navigation receiver warning
+       //      3) Latitude
+       //      4) N or S
+       //      5) Longitude
+       //      6) E or W
+       //      7) Speed over ground, knots
+       //      8) Track made good, degrees true
+       //      9) Date, ddmmyy
+       //      10) Magnetic Variation, degrees
+       //      11) E or W
+       //      12) Checksum
+       private Date currentDate;
+       
+       private String time;
+       private String status = "A"; //$NON-NLS-1$
+       private GeoLocation location;
+       private double speed = 0.0;
+       private double track = 0.0;
+       private String date;
+//     private double magneticVariation = 0.0;
+       private String magenticDirection = "A"; //$NON-NLS-1$
+       
+       public NMEA0183_GPRMC() {
+               this(0.0, 0.0);
+       }       
+               
+       public NMEA0183_GPRMC(double latitude, double longitude) {
+               super("GPRMC"); //$NON-NLS-1$
+               
+               currentDate = new Date();
+
+               SimpleDateFormat timeFormat = new SimpleDateFormat("HHmmss.0"); //$NON-NLS-1$
+               time = timeFormat.format(currentDate);
+               location = new GeoLocation(latitude, longitude);
+               SimpleDateFormat dateFormat = new SimpleDateFormat("ddMMyy"); //$NON-NLS-1$
+               date = dateFormat.format(currentDate);
+               
+               createSentence();
+       }
+
+       @Override
+       protected void createBody() {
+               DecimalFormat latitudeFormat = new DecimalFormat("0000.000000"); //$NON-NLS-1$
+               DecimalFormat longitudeFormat = new DecimalFormat("00000.000000"); //$NON-NLS-1$
+               DecimalFormat doubleFormat = new DecimalFormat("000.0"); //$NON-NLS-1$
+               
+               getBody().add(time);
+               getBody().add(status);
+               getBody().add(latitudeFormat.format(location.getNMEAlatitude()));
+               getBody().add(location.getNorthSouth());
+               getBody().add(longitudeFormat.format(location.getNMEAlongitude()));
+               getBody().add(location.getEastWest());
+               getBody().add(doubleFormat.format(speed));
+               getBody().add(doubleFormat.format(track));
+               getBody().add(date);
+//             getBody().add(doubleFormat.format(magneticVariation));
+               getBody().add(NULL);
+               getBody().add(NULL);
+               getBody().add(magenticDirection);
+       }
+
+       @Override
+       protected boolean validate() {
+               return true;
+       }
+}
diff --git a/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/SatelliteInfo.java b/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/SatelliteInfo.java
new file mode 100644 (file)
index 0000000..59972dc
--- /dev/null
@@ -0,0 +1,78 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.location.core.protocol;
+
+import javax.management.RuntimeErrorException;
+
+public class SatelliteInfo {
+       private int id;
+       private int elevation;
+       private int azimuth;
+       private int snr;
+       
+       public SatelliteInfo(int id, int elevation, int azimuth, int snr) {
+               this.setId(id);
+               this.setElevation(elevation);
+               this.setAzimuth(azimuth);
+               this.setSnr(snr);
+               
+               if (!validate()) {
+                       throw new RuntimeErrorException(null, Messages.SatelliteInfo_0);
+               }
+       }
+       
+       private boolean validate() {
+               if (id < 1 || id > 32) {
+                       return false;
+               }
+               
+               if (elevation < 0 || elevation > 90) {
+                       return false;
+               }
+               
+               if (azimuth < 0 || id > 359) {
+                       return false;
+               }
+               
+               if (snr < 0 || id > 99) {
+                       return false;
+               }
+               
+               return true;
+       }
+
+       public void setId(int id) {
+               this.id = id;
+       }
+
+       public int getId() {
+               return id;
+       }
+
+       public void setElevation(int elevation) {
+               this.elevation = elevation;
+       }
+
+       public int getElevation() {
+               return elevation;
+       }
+
+       public void setAzimuth(int azimuth) {
+               this.azimuth = azimuth;
+       }
+
+       public int getAzimuth() {
+               return azimuth;
+       }
+
+       public void setSnr(int snr) {
+               this.snr = snr;
+       }
+
+       public int getSnr() {
+               return snr;
+       }
+}
\ No newline at end of file
diff --git a/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/messages.properties b/com.samsung.linuxplatform.location.core/src/com/samsung/linuxplatform/location/core/protocol/messages.properties
new file mode 100644 (file)
index 0000000..f525d05
--- /dev/null
@@ -0,0 +1 @@
+SatelliteInfo_0=Invalid Satellite Info
diff --git a/com.samsung.linuxplatform.location.log/.classpath b/com.samsung.linuxplatform.location.log/.classpath
new file mode 100644 (file)
index 0000000..ad32c83
--- /dev/null
@@ -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/JavaSE-1.6"/>
+       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+       <classpathentry kind="src" path="src"/>
+       <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/com.samsung.linuxplatform.location.log/.project b/com.samsung.linuxplatform.location.log/.project
new file mode 100644 (file)
index 0000000..f9c1f09
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>com.samsung.linuxplatform.location.log</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/com.samsung.linuxplatform.location.log/.settings/org.eclipse.core.resources.prefs b/com.samsung.linuxplatform.location.log/.settings/org.eclipse.core.resources.prefs
new file mode 100644 (file)
index 0000000..9bf4202
--- /dev/null
@@ -0,0 +1,3 @@
+#Wed Dec 01 09:07:37 CET 2010
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/com.samsung.linuxplatform.location.log/.settings/org.eclipse.core.runtime.prefs b/com.samsung.linuxplatform.location.log/.settings/org.eclipse.core.runtime.prefs
new file mode 100644 (file)
index 0000000..6d81787
--- /dev/null
@@ -0,0 +1,3 @@
+#Tue Dec 14 16:29:37 CET 2010
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/com.samsung.linuxplatform.location.log/META-INF/MANIFEST.MF b/com.samsung.linuxplatform.location.log/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..26cbc86
--- /dev/null
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: com.samsung.linuxplatform.location.log;singleton:=true
+Bundle-Version: 1.3.20.qualifier
+Bundle-Vendor: %Bundle-Vendor
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.ui.forms;bundle-version="3.3.103",
+ com.samsung.freshide.common;bundle-version="1.3.13",
+ com.samsung.linuxplatform.injector;bundle-version="1.3.13",
+ com.samsung.linuxplatform.location.core;bundle-version="1.0.0",
+ com.samsung.freshide.connection;bundle-version="1.0.0"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/com.samsung.linuxplatform.location.log/OSGI-INF/l10n/bundle.properties b/com.samsung.linuxplatform.location.log/OSGI-INF/l10n/bundle.properties
new file mode 100644 (file)
index 0000000..b9fb9e7
--- /dev/null
@@ -0,0 +1,4 @@
+#Properties file for com.samsung.linuxplatform.location.log
+Bundle-Vendor = Samsung Electronics
+Bundle-Name = SLP SDK Location Log
+Log = Log
\ No newline at end of file
diff --git a/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/Log.class b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/Log.class
new file mode 100644 (file)
index 0000000..ab797ed
Binary files /dev/null and b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/Log.class differ
diff --git a/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/Messages.class b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/Messages.class
new file mode 100644 (file)
index 0000000..4d6e928
Binary files /dev/null and b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/Messages.class differ
diff --git a/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/messages.properties b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/messages.properties
new file mode 100644 (file)
index 0000000..6ee4eeb
--- /dev/null
@@ -0,0 +1,2 @@
+Log_0=Log
+Log_1=Log File
diff --git a/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$1.class b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$1.class
new file mode 100644 (file)
index 0000000..6932881
Binary files /dev/null and b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$1.class differ
diff --git a/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$2$1.class b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$2$1.class
new file mode 100644 (file)
index 0000000..cdd4560
Binary files /dev/null and b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$2$1.class differ
diff --git a/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$2$2.class b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$2$2.class
new file mode 100644 (file)
index 0000000..c966530
Binary files /dev/null and b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$2$2.class differ
diff --git a/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$2.class b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$2.class
new file mode 100644 (file)
index 0000000..4d60187
Binary files /dev/null and b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$2.class differ
diff --git a/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$3.class b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$3.class
new file mode 100644 (file)
index 0000000..ea39c1a
Binary files /dev/null and b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile$3.class differ
diff --git a/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile.class b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile.class
new file mode 100644 (file)
index 0000000..ef97a19
Binary files /dev/null and b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/LogFile.class differ
diff --git a/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/Messages.class b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/Messages.class
new file mode 100644 (file)
index 0000000..99368b3
Binary files /dev/null and b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/Messages.class differ
diff --git a/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/messages.properties b/com.samsung.linuxplatform.location.log/bin/com/samsung/linuxplatform/location/log/page/messages.properties
new file mode 100644 (file)
index 0000000..b0849f0
--- /dev/null
@@ -0,0 +1,3 @@
+LogFile_2=Browse
+LogFile_4=Inject Log
+LogFile_6=Cancel
diff --git a/com.samsung.linuxplatform.location.log/build.properties b/com.samsung.linuxplatform.location.log/build.properties
new file mode 100644 (file)
index 0000000..f9eefdc
--- /dev/null
@@ -0,0 +1,8 @@
+source.. = src/\r
+output.. = bin/\r
+bin.includes = plugin.xml,\\r
+               META-INF/,\\r
+               .,\\r
+               OSGI-INF/l10n/bundle.properties\r
+javacSource = 1.6
+javacTarget = 1.6
diff --git a/com.samsung.linuxplatform.location.log/build.xml b/com.samsung.linuxplatform.location.log/build.xml
new file mode 100644 (file)
index 0000000..81d6a83
--- /dev/null
@@ -0,0 +1,350 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="com.samsung.linuxplatform.location.log" default="build.jars" basedir=".">
+
+       <property name="p2.build.repo" value="file:${buildDirectory}/buildRepo"/>
+       <property name="basews" value="${ws}"/>
+       <property name="baseos" value="${os}"/>
+       <property name="basearch" value="${arch}"/>
+       <property name="basenl" value="${nl}"/>
+       <property name="bundleId" value="com.samsung.linuxplatform.location.log"/>
+       <property name="bundleVersion" value="1.3.20.201103241558"/>
+       <property name="p2.publishonerror" value="false"/>
+
+       <!-- Compiler settings. -->
+       <property name="javacFailOnError" value="false"/>
+       <property name="javacDebugInfo" value="on"/>
+       <property name="javacVerbose" value="false"/>
+       <property name="logExtension" value=".log"/>
+       <property name="compilerArg" value=""/>
+       <condition property="dir_bootclasspath" value="${java.home}/../Classes">
+               <os family="mac"/>
+       </condition>
+       <property name="dir_bootclasspath" value="${java.home}/lib"/>
+       <path id="path_bootclasspath">
+               <fileset dir="${dir_bootclasspath}">
+                       <include name="*.jar"/>
+               </fileset>
+       </path>
+       <property name="bootclasspath" refid="path_bootclasspath"/>
+       <property name="bundleJavacSource" value="1.6"/>
+       <property name="bundleJavacTarget" value="1.6"/>
+       <condition property="bundleBootClasspath" value="${JavaSE-1.6}" >
+               <isset property="JavaSE-1.6"/>
+       </condition>
+       <property name="bundleBootClasspath" value="${bootclasspath}"/>
+
+       <target name="init" depends="properties">
+               <condition property="pluginTemp" value="${buildTempFolder}/plugins"             >
+                       <isset property="buildTempFolder"/>
+               </condition>
+               <property name="pluginTemp" value="${basedir}"/>
+               <condition property="build.result.folder" value="${pluginTemp}/com.samsung.linuxplatform.location.log_1.3.20.201103241558"              >
+                       <isset property="buildTempFolder"/>
+               </condition>
+               <property name="build.result.folder" value="${basedir}"/>
+               <property name="temp.folder" value="${basedir}/temp.folder"/>
+               <property name="plugin.destination" value="${basedir}"/>
+               <condition property="p2.publish.parts" value="true"             >
+                       <istrue value="${p2.gathering}"/>
+               </condition>
+               <property name="compilation.problem.marker" value="${build.result.folder}/compilation.problem"/>
+               <condition property="compilation.problem.marker.exists" value="true"            >
+                       <and>
+                       <available file="${compilation.problem.marker}"/>
+                       <isfalse value="p2.publishonerror"/>
+                       </and>
+               </condition>
+       </target>
+
+       <target name="properties" if="eclipse.running">
+               <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+
+       </target>
+
+       <target name="build.update.jar" depends="init" description="Build the plug-in: com.samsung.linuxplatform.location.log for an update site.">
+               <delete dir="${temp.folder}"/>
+               <mkdir dir="${temp.folder}"/>
+               <antcall target="build.jars"/>
+               <antcall target="gather.bin.parts">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <jar destfile="${plugin.destination}/com.samsung.linuxplatform.location.log_1.3.20.201103241558.jar" basedir="${temp.folder}/com.samsung.linuxplatform.location.log_1.3.20.201103241558" filesetmanifest="merge"/>
+               <delete dir="${temp.folder}"/>
+       </target>
+
+       <target name="@dot" depends="init" unless="@dot" description="Create jar: com.samsung.linuxplatform.location.log @dot.">
+               <delete dir="${build.result.folder}/@dot"/>
+               <mkdir dir="${build.result.folder}/@dot"/>
+               <path id="@dot.classpath">
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui_3.5.2.M20100120-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20090525.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.osgi_3.5.2.R35x_v20100126.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800/runtime_registry_compatibility.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.100.v20090413.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.app_1.2.1.R35x_v20091203.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.osgi.services_3.2.0.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/javax.servlet_2.5.0.v200806031605.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.swt_3.5.2.v3557f.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface_3.5.2.M20100120-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.commands_3.5.0.I20090525-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench_3.5.2.M20100113-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/compatibility.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/e4-workbench.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800"/>
+                       <pathelement path="../../../eclipse/plugins/com.ibm.icu_4.0.1.v20090822.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.help_3.4.1.v20090805_35x.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.expressions_3.4.101.R35x_v20100209.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface.databinding_1.3.1.M20090826-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding.observable_1.2.0.M20090902-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding.property_1.2.0.M20090819-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding_1.2.0.M20090819-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.resources.compatibility_3.4.1.R35x_v20100113-0530.jar"/>
+                       <pathelement path="../org.eclipse.core.resources.nl_ko/org.eclipse.core.resources.nl_ko_3.5.0.v20100814074441.jar"/>
+                       <pathelement path="../org.eclipse.core.resources.nl_ko"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ant.core_3.2.101.v20091110_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.variables_3.2.200.v20090521.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filesystem_1.2.1.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filesystem.linux.x86_1.3.0.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.forms_3.4.1.v20090714_35x.jar"/>
+                       <pathelement path="../com.samsung.linuxplatform.common/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common_1.3.20.201103241558/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../org.eclipse.ui.ide/bin"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/bin"/>
+                       <pathelement path="../org.eclipse.ui.ide/e4-ide.jar"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/e4-ide.jar"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide/@dot"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/@dot"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.views_3.4.1.M20090826-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface.text_3.5.2.r352_v20091118-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.text_3.5.0.v20090513-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.engine_1.0.102.R35x_v20091117.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.core_1.0.101.R35x_v20090819.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.metadata_1.0.101.R35x_v20100112.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.metadata.repository_1.0.101.R35x_v20090812.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.repository_1.0.1.R35x_v20100105.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.security_1.0.100.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.filetransfer_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.ssl_1.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.concurrent_1.0.1.R35x_v20100209.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.identity_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.provider.filetransfer_3.0.1.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.net_1.2.1.r35x_20090812-1200.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.net.linux.x86_1.1.0.I20081021.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.artifact.repository_1.0.101.R35x_v20090721.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.100.v20090520-1905.jar"/>
+                       <pathelement path="../com.samsung.linuxplatform.injector/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector_1.3.20.201103241558/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection/bin"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection_1.3.20.201103241558/bin"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.linux/bin/"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.linux/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.windows/bin/"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.windows/@dot"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.console_3.4.0.v20090513.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.texteditor_3.5.1.r352_v20100105.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.compare.core_3.5.0.I20090430-0408.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.debug.ui_3.5.2.v20091028_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.debug.core_3.5.1.v20091103_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.editors_3.5.0.v20090527-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filebuffers_3.5.0.v20090526-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.ui_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.services_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.core_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.efs_2.1.100.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.files.core_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.processes.core_3.1.0.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.shells.core_3.1.0.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.terminals.core_1.0.1.v200908051630.jar"/>
+                       <pathelement path="../../../eclipse/plugins/com.jcraft.jsch_0.1.41.v200903070017.jar"/>
+                       <pathelement path="../com.samsung.linuxplatform.location.core/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.location.core_1.3.20.201103241558/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.location.core/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.location.core_1.3.20.201103241558/@dot"/>
+               </path>
+               <!-- compile the source code -->
+               <javac destdir="${build.result.folder}/@dot" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bundleBootClasspath}" source="${bundleJavacSource}" target="${bundleJavacTarget}"            >
+                       <compilerarg line="${compilerArg}" compiler="${build.compiler}"/>
+                       <classpath refid="@dot.classpath" />
+                       <src path="src/"                        />
+                       <compilerarg value="@${basedir}/javaCompiler...args" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+                       <compilerarg line="-log '${build.result.folder}/@dot${logExtension}'" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+               </javac>
+               <antcall target="checkCompilationResults"/>
+               <!-- Copy necessary resources -->
+               <copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
+                       <fileset dir="src/">
+                               <exclude name="**/*.java"/>
+                               <exclude name="**/package.htm*"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="src.zip" depends="init" unless="src.zip">
+               <mkdir dir="${build.result.folder}"/>
+               <antcall target="zip.src.zip"/>
+       </target>
+       <target name="zip.src.zip">
+               <zip destfile="${build.result.folder}/src.zip" filesonly="false" whenempty="skip" update="false">
+                       <fileset dir="src/">
+                               <include name="**/*.java"/>
+                       </fileset>
+               </zip>
+       </target>
+       <target name="copy.src.zip">
+               <copy todir="${source.destination.folder}/" failonerror="true" overwrite="true">
+                       <fileset dir="src/">
+                               <include name="**/*.java"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="build.jars" depends="init" description="Compile classes and build nested jars for the plug-in: com.samsung.linuxplatform.location.log.">
+               <delete file="${compilation.problem.marker}" quiet="true"/>
+               <available property="@dot" file="${build.result.folder}/@dot"/>
+               <antcall target="@dot"/>
+       </target>
+
+       <target name="checkCompilationResults" if="compilation.error.occured">
+               <echo file="${compilation.problem.marker}" message="com.samsung.linuxplatform.location.log : compilation.error.occured=${compilation.error.occured}"/>
+       </target>
+
+       <target name="build.sources" depends="init">
+               <available property="src.zip" file="${build.result.folder}/src.zip"/>
+               <antcall target="src.zip"/>
+       </target>
+
+       <target name="publish.bin.parts" depends="init" if="p2.publish.parts" unless="compilation.problem.marker.exists">
+               <mkdir dir="${build.result.folder}/com.samsung.linuxplatform.location.log_1.3.20.201103241558"/>
+               <copy todir="${build.result.folder}" failonerror="true" overwrite="true">
+                       <fileset dir="${basedir}">
+                               <include name="META-INF/MANIFEST.MF"/>
+                               <include name="plugin.xml"/>
+                               <include name="fragment.xml"/>
+                       </fileset>
+               </copy>
+               <eclipse.versionReplacer path="${build.result.folder}" version="1.3.20.201103241558"/>
+               <antcall target="apitools.generation">
+                       <param name="target.folder" value="${build.result.folder}"/>
+                       <param name="projectLocation" value="${basedir}"/>
+                       <param name="binary.folders" value="${build.result.folder}/@dot"/>
+                       <param name="projectName" value="${bundleId}_${bundleVersion}"/>
+               </antcall>
+               <eclipse.gatherBundle 
+                  metadataRepository="${p2.build.repo}"
+                  artifactRepository="${p2.build.repo}"
+                  buildResultFolder="${build.result.folder}"
+                  unpack="false"
+                  baseDirectory="${basedir}"
+               />
+       </target>
+
+       <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.location.log_1.3.20.201103241558"/>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.location.log_1.3.20.201103241558" failonerror="true" overwrite="false">
+                       <fileset dir="${build.result.folder}/@dot">
+                               <include name="**"/>
+                       </fileset>
+               </copy>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.location.log_1.3.20.201103241558" failonerror="true" overwrite="true">
+                       <fileset dir="${basedir}">
+                               <include name="plugin.xml"/>
+                               <include name="META-INF/"/>
+                               <include name="OSGI-INF/l10n/bundle.properties"/>
+                       </fileset>
+               </copy>
+               <eclipse.versionReplacer path="${destination.temp.folder}/com.samsung.linuxplatform.location.log_1.3.20.201103241558" version="1.3.20.201103241558"/>
+               <antcall target="apitools.generation">
+                       <param name="target.folder" value="${destination.temp.folder}/com.samsung.linuxplatform.location.log_1.3.20.201103241558"/>
+                       <param name="projectLocation" value="${basedir}"/>
+                       <param name="binary.folders" value="${build.result.folder}/@dot"/>
+                       <param name="projectName" value="${bundleId}_${bundleVersion}"/>
+               </antcall>
+       </target>
+
+       <target name="build.zips" depends="init">
+       </target>
+
+       <target name="gather.sources" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.location.log_1.3.20.201103241558"/>
+               <copy file="${build.result.folder}/src.zip" todir="${destination.temp.folder}/com.samsung.linuxplatform.location.log_1.3.20.201103241558" failonerror="false" overwrite="false"/>
+               <antcall target="copy.src.includes">
+                       <param name="source.destination.folder" value="${destination.temp.folder}/com.samsung.linuxplatform.location.log_1.3.20.201103241558"/>
+               </antcall>
+       </target>
+
+       <target name="gather.individual.sources" depends="init">
+               <antcall target="copy.src.zip">
+                       <param name="source.destination.folder" value="${destination.temp.folder}"/>
+               </antcall>
+               <antcall target="copy.src.includes">
+                       <param name="source.destination.folder" value="${destination.temp.folder}"/>
+               </antcall>
+       </target>
+
+       <target name="copy.src.includes" depends="init">
+       </target>
+
+       <target name="gather.logs" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.location.log_1.3.20.201103241558"/>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.location.log_1.3.20.201103241558" failonerror="false" overwrite="false">
+                       <fileset dir="${build.result.folder}">
+                               <include name="@dot${logExtension}"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="clean" depends="init" description="Clean the plug-in: com.samsung.linuxplatform.location.log of all the zips, jars and logs created.">
+               <delete dir="${build.result.folder}/@dot"/>
+               <delete file="${build.result.folder}/src.zip"/>
+               <delete file="${plugin.destination}/com.samsung.linuxplatform.location.log_1.3.20.201103241558.jar"/>
+               <delete file="${plugin.destination}/com.samsung.linuxplatform.location.log_1.3.20.201103241558.zip"/>
+               <delete dir="${temp.folder}"/>
+               <delete file="${compilation.problem.marker}" quiet="true"/>
+       </target>
+
+       <target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
+               <eclipse.convertPath fileSystemPath="/home/taeyoung/SLPSDK/git/samsung-sdk-ide/com.samsung.linuxplatform.location.log" property="resourcePath"/>
+               <eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
+       </target>
+
+       <target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: com.samsung.linuxplatform.location.log.">
+               <delete dir="${temp.folder}"/>
+               <mkdir dir="${temp.folder}"/>
+               <antcall target="build.jars"/>
+               <antcall target="build.sources"/>
+               <antcall target="gather.bin.parts">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <antcall target="gather.sources">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <delete>
+                       <fileset dir="${temp.folder}">
+                               <include name="**/*.bin${logExtension}"/>
+                       </fileset>
+               </delete>
+               <zip destfile="${plugin.destination}/com.samsung.linuxplatform.location.log_1.3.20.201103241558.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
+               <delete dir="${temp.folder}"/>
+       </target>
+
+       <target name="apitools.generation" if="generateAPIDescription">
+               <apitooling.apigeneration  projectName="${projectName}" project="${projectLocation}" binary="${binary.folders}" target="${target.folder}"               />
+       </target>
+
+</project>
diff --git a/com.samsung.linuxplatform.location.log/javaCompiler...args b/com.samsung.linuxplatform.location.log/javaCompiler...args
new file mode 100644 (file)
index 0000000..ec65bde
--- /dev/null
@@ -0,0 +1,100 @@
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui_3.5.2.M20100120-0800.jar[~org/eclipse/ui/internal/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20090525.jar[~org/eclipse/core/internal/preferences/legacy/*:~org/eclipse/core/internal/runtime/*:+org/eclipse/core/runtime/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.osgi_3.5.2.R35x_v20100126.jar[+org/eclipse/osgi/event/*:+org/eclipse/osgi/framework/console/*:+org/eclipse/osgi/framework/eventmgr/*:+org/eclipse/osgi/framework/log/*:+org/eclipse/osgi/launch/*:+org/eclipse/osgi/service/datalocation/*:+org/eclipse/osgi/service/debug/*:+org/eclipse/osgi/service/environment/*:+org/eclipse/osgi/service/localization/*:+org/eclipse/osgi/service/pluginconversion/*:+org/eclipse/osgi/service/resolver/*:+org/eclipse/osgi/service/runnable/*:+org/eclipse/osgi/service/security/*:+org/eclipse/osgi/service/urlconversion/*:+org/eclipse/osgi/signedcontent/*:+org/eclipse/osgi/storagemanager/*:+org/eclipse/osgi/util/*:+org/osgi/framework/*:+org/osgi/framework/launch/*:+org/osgi/framework/hooks/service/*:+org/osgi/service/condpermadmin/*:~org/osgi/service/framework/*:+org/osgi/service/packageadmin/*:+org/osgi/service/permissionadmin/*:+org/osgi/service/startlevel/*:+org/osgi/service/url/*:+org/osgi/util/tracker/*:~org/eclipse/core/runtime/adaptor/*:~org/eclipse/core/runtime/internal/adaptor/*:~org/eclipse/core/runtime/internal/stats/*:~org/eclipse/osgi/baseadaptor/*:~org/eclipse/osgi/baseadaptor/bundlefile/*:~org/eclipse/osgi/baseadaptor/hooks/*:~org/eclipse/osgi/baseadaptor/loader/*:~org/eclipse/osgi/framework/adaptor/*:~org/eclipse/osgi/framework/debug/*:~org/eclipse/osgi/framework/internal/core/*:~org/eclipse/osgi/framework/internal/protocol/*:~org/eclipse/osgi/framework/internal/protocol/bundleentry/*:~org/eclipse/osgi/framework/internal/protocol/bundleresource/*:~org/eclipse/osgi/framework/internal/protocol/reference/*:~org/eclipse/osgi/framework/internal/reliablefile/*:~org/eclipse/osgi/framework/util/*:~org/eclipse/osgi/internal/baseadaptor/*:~org/eclipse/osgi/internal/composite/*:~org/eclipse/osgi/internal/loader/*:~org/eclipse/osgi/internal/loader/buddy/*:~org/eclipse/osgi/internal/module/*:~org/eclipse/osgi/internal/profile/*:~org/eclipse/osgi/internal/resolver/*:~org/eclipse/osgi/internal/serviceregistry/*:~org/eclipse/osgi/internal/permadmin/*:~org/eclipse/osgi/internal/provisional/service/security/*:~org/eclipse/osgi/internal/provisional/verifier/*:~org/eclipse/osgi/internal/service/security/*:~org/eclipse/osgi/internal/signedcontent/*:~org/eclipse/osgi/service/internal/composite/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar[~org/eclipse/core/internal/boot/*:~org/eclipse/core/internal/runtime/*:+org/eclipse/core/runtime/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar[~org/eclipse/core/internal/jobs/*:+org/eclipse/core/runtime/jobs/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800/runtime_registry_compatibility.jar[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar[~org/eclipse/core/internal/preferences/*:~org/eclipse/core/internal/preferences/exchange/*:+org/eclipse/core/runtime/preferences/*:+org/osgi/service/prefs/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar[~org/eclipse/core/internal/content/*:+org/eclipse/core/runtime/content/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.100.v20090413.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.app_1.2.1.R35x_v20091203.jar[+org/eclipse/equinox/app/*:~org/eclipse/equinox/internal/app/*:+org/osgi/service/application/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.osgi.services_3.2.0.v20090520-1800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/javax.servlet_2.5.0.v200806031605.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.swt_3.5.2.v3557f.jar[+org/eclipse/swt/*:+org/eclipse/swt/accessibility/*:+org/eclipse/swt/awt/*:+org/eclipse/swt/browser/*:+org/eclipse/swt/custom/*:+org/eclipse/swt/dnd/*:+org/eclipse/swt/events/*:+org/eclipse/swt/graphics/*:+org/eclipse/swt/layout/*:+org/eclipse/swt/opengl/*:+org/eclipse/swt/printing/*:+org/eclipse/swt/program/*:+org/eclipse/swt/widgets/*:~org/eclipse/swt/internal/*:~org/eclipse/swt/internal/image/*:~org/eclipse/swt/internal/theme/*:~org/eclipse/swt/internal/accessibility/gtk/*:~org/eclipse/swt/internal/cairo/*:~org/eclipse/swt/internal/cde/*:~org/eclipse/swt/internal/gnome/*:~org/eclipse/swt/internal/gtk/*:~org/eclipse/swt/internal/mozilla/*:~org/eclipse/swt/internal/opengl/glx/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar[+org/eclipse/swt/*:+org/eclipse/swt/accessibility/*:+org/eclipse/swt/awt/*:+org/eclipse/swt/browser/*:+org/eclipse/swt/custom/*:+org/eclipse/swt/dnd/*:+org/eclipse/swt/events/*:+org/eclipse/swt/graphics/*:+org/eclipse/swt/layout/*:+org/eclipse/swt/opengl/*:+org/eclipse/swt/printing/*:+org/eclipse/swt/program/*:+org/eclipse/swt/widgets/*:~org/eclipse/swt/internal/*:~org/eclipse/swt/internal/image/*:~org/eclipse/swt/internal/theme/*:~org/eclipse/swt/internal/accessibility/gtk/*:~org/eclipse/swt/internal/cairo/*:~org/eclipse/swt/internal/cde/*:~org/eclipse/swt/internal/gnome/*:~org/eclipse/swt/internal/gtk/*:~org/eclipse/swt/internal/mozilla/*:~org/eclipse/swt/internal/opengl/glx/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface_3.5.2.M20100120-0800.jar[+org/eclipse/jface/*:+org/eclipse/jface/action/*:+org/eclipse/jface/action/images/*:+org/eclipse/jface/bindings/*:+org/eclipse/jface/bindings/keys/*:+org/eclipse/jface/bindings/keys/formatting/*:+org/eclipse/jface/commands/*:+org/eclipse/jface/contexts/*:+org/eclipse/jface/dialogs/*:+org/eclipse/jface/dialogs/images/*:+org/eclipse/jface/fieldassist/*:+org/eclipse/jface/fieldassist/images/*:+org/eclipse/jface/images/*:~org/eclipse/jface/internal/*:~org/eclipse/jface/internal/provisional/action/*:+org/eclipse/jface/layout/*:+org/eclipse/jface/menus/*:+org/eclipse/jface/operation/*:+org/eclipse/jface/preference/*:+org/eclipse/jface/preference/images/*:+org/eclipse/jface/resource/*:+org/eclipse/jface/util/*:+org/eclipse/jface/viewers/*:+org/eclipse/jface/viewers/deferred/*:+org/eclipse/jface/window/*:+org/eclipse/jface/wizard/*:+org/eclipse/jface/wizard/images/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.commands_3.5.0.I20090525-2000.jar[+org/eclipse/core/commands/*:+org/eclipse/core/commands/common/*:+org/eclipse/core/commands/contexts/*:+org/eclipse/core/commands/operations/*:+org/eclipse/core/commands/util/*:~org/eclipse/core/internal/commands/operations/*:~org/eclipse/core/internal/commands/util/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench_3.5.2.M20100113-0800.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/compatibility.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/e4-workbench.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/com.ibm.icu_4.0.1.v20090822.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.help_3.4.1.v20090805_35x.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.expressions_3.4.101.R35x_v20100209.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface.databinding_1.3.1.M20090826-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding.observable_1.2.0.M20090902-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding.property_1.2.0.M20090819-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding_1.2.0.M20090819-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.resources.compatibility_3.4.1.R35x_v20100113-0530.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.core.resources.nl_ko/org.eclipse.core.resources.nl_ko_3.5.0.v20100814074441.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.core.resources.nl_ko[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ant.core_3.2.101.v20091110_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.variables_3.2.200.v20090521.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filesystem_1.2.1.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filesystem.linux.x86_1.3.0.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.forms_3.4.1.v20090714_35x.jar[+org/eclipse/ui/forms/*:+org/eclipse/ui/forms/editor/*:+org/eclipse/ui/forms/events/*:+org/eclipse/ui/forms/widgets/*:~org/eclipse/ui/internal/forms/*:~org/eclipse/ui/internal/forms/widgets/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common/bin/[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common_1.3.20.201103241558/bin/[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common/@dot[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/bin[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/bin[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/e4-ide.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/e4-ide.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/@dot[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/@dot[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.views_3.4.1.M20090826-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface.text_3.5.2.r352_v20091118-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.text_3.5.0.v20090513-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.engine_1.0.102.R35x_v20091117.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.core_1.0.101.R35x_v20090819.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.metadata_1.0.101.R35x_v20100112.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.metadata.repository_1.0.101.R35x_v20090812.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.repository_1.0.1.R35x_v20100105.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.security_1.0.100.v20090520-1800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.filetransfer_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.ssl_1.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.concurrent_1.0.1.R35x_v20100209.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.identity_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.provider.filetransfer_3.0.1.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.net_1.2.1.r35x_20090812-1200.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.net.linux.x86_1.1.0.I20081021.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.artifact.repository_1.0.101.R35x_v20090721.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.100.v20090520-1905.jar[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector/bin/[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector_1.3.20.201103241558/bin/[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector/@dot[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection/bin[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection_1.3.20.201103241558/bin[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection/@dot[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.linux/bin/[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.linux/@dot[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.windows/bin/[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.windows/@dot[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.console_3.4.0.v20090513.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.texteditor_3.5.1.r352_v20100105.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.compare.core_3.5.0.I20090430-0408.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.debug.ui_3.5.2.v20091028_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.debug.core_3.5.1.v20091103_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.editors_3.5.0.v20090527-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filebuffers_3.5.0.v20090526-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.ui_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.services_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.core_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.efs_2.1.100.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.files.core_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.processes.core_3.1.0.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.shells.core_3.1.0.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.terminals.core_1.0.1.v200908051630.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/com.jcraft.jsch_0.1.41.v200903070017.jar[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.location.core/bin/[+com/samsung/linuxplatform/location/core/injector/*:+com/samsung/linuxplatform/location/core/model/*:+com/samsung/linuxplatform/location/core/protocol/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.location.core_1.3.20.201103241558/bin/[+com/samsung/linuxplatform/location/core/injector/*:+com/samsung/linuxplatform/location/core/model/*:+com/samsung/linuxplatform/location/core/protocol/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.location.core/@dot[+com/samsung/linuxplatform/location/core/injector/*:+com/samsung/linuxplatform/location/core/model/*:+com/samsung/linuxplatform/location/core/protocol/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.location.core_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/location/core/injector/*:+com/samsung/linuxplatform/location/core/model/*:+com/samsung/linuxplatform/location/core/protocol/*:?**/*]
diff --git a/com.samsung.linuxplatform.location.log/plugin.xml b/com.samsung.linuxplatform.location.log/plugin.xml
new file mode 100644 (file)
index 0000000..f96164b
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<?eclipse version="3.2"?>\r
+<plugin>\r
+   <extension\r
+         point="com.samsung.linuxplatform.injector.injectorItemProvider">\r
+      <itemType\r
+            category="Location"\r
+            class="com.samsung.linuxplatform.location.log.Log"\r
+            id="com.samsung.linuxplatform.location.log"\r
+            name="%Log">\r
+      </itemType>\r
+   </extension>\r
+</plugin>\r
diff --git a/com.samsung.linuxplatform.location.log/src/com/samsung/linuxplatform/location/log/Log.java b/com.samsung.linuxplatform.location.log/src/com/samsung/linuxplatform/location/log/Log.java
new file mode 100644 (file)
index 0000000..c2676a3
--- /dev/null
@@ -0,0 +1,36 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.location.log;
+
+import java.util.ArrayList;
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.Section;
+
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+import com.samsung.linuxplatform.location.log.page.LogFile;
+
+public class Log extends AbstractInjectorItem {
+       private static String LABEL = Messages.Log_0;
+
+       @Override
+       protected void addPages() {
+               addPage(new LogFile(this, Messages.Log_1));
+       }
+       
+       public void setSiblingsEnabled(boolean enabled) {
+               ArrayList<Composite> list = getCategoryItems("Location"); //$NON-NLS-1$
+               for (int i = 0; i < list.size(); i++) {
+                       Section parent = (Section) list.get(i).getParent();
+                       if (!parent.getText().equals(LABEL)) {
+                               if(!enabled) {
+                                       parent.setExpanded(enabled);
+                               }
+                               parent.setEnabled(enabled);     
+                       }
+               }
+       }
+}
diff --git a/com.samsung.linuxplatform.location.log/src/com/samsung/linuxplatform/location/log/Messages.java b/com.samsung.linuxplatform.location.log/src/com/samsung/linuxplatform/location/log/Messages.java
new file mode 100644 (file)
index 0000000..002e60a
--- /dev/null
@@ -0,0 +1,16 @@
+package com.samsung.linuxplatform.location.log;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+       private static final String BUNDLE_NAME = "com.samsung.linuxplatform.location.log.messages"; //$NON-NLS-1$
+       public static String Log_0;
+       public static String Log_1;
+       static {
+               // initialize resource bundle
+               NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+       }
+
+       private Messages() {
+       }
+}
diff --git a/com.samsung.linuxplatform.location.log/src/com/samsung/linuxplatform/location/log/messages.properties b/com.samsung.linuxplatform.location.log/src/com/samsung/linuxplatform/location/log/messages.properties
new file mode 100644 (file)
index 0000000..6ee4eeb
--- /dev/null
@@ -0,0 +1,2 @@
+Log_0=Log
+Log_1=Log File
diff --git a/com.samsung.linuxplatform.location.log/src/com/samsung/linuxplatform/location/log/page/LogFile.java b/com.samsung.linuxplatform.location.log/src/com/samsung/linuxplatform/location/log/page/LogFile.java
new file mode 100644 (file)
index 0000000..8822b00
--- /dev/null
@@ -0,0 +1,177 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.location.log.page;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.IJobChangeEvent;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.core.runtime.jobs.JobChangeAdapter;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+//import org.eclipse.ui.IWorkbenchWindow;
+//import org.eclipse.ui.PlatformUI;
+
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorPage;
+//import com.samsung.linuxplatform.location.core.injector.AbstractLocationInjector;
+import com.samsung.linuxplatform.location.core.injector.LocationInjector;
+import com.samsung.linuxplatform.location.log.Log;
+
+public class LogFile extends AbstractInjectorPage {
+       
+       private static String FILE_CHECK_VALUE = "$GP"; //$NON-NLS-1$
+       
+       private Text filenameText;      
+       private Button injectButton;
+       private Button cancelButton;
+       
+       private LocationInjector injector;
+       
+       public LogFile(AbstractInjectorItem item, String name) {
+               super(item, name);
+       }
+
+       @Override
+       protected void createContents() {
+               createLogFileInjectComposite();         
+       }
+
+       @Override
+       protected void registerReceivers() {
+               // TODO Auto-generated method stub
+               
+       }
+       
+       private Control createLogFileInjectComposite() {
+               Composite mainPage = formUtil.createComposite(parent, 2);
+               
+               filenameText = formUtil.createText(mainPage, ""); //$NON-NLS-1$
+
+               Button browserButton = formUtil.createButton(mainPage, Messages.LogFile_2, SWT.PUSH);
+               browserButton.addSelectionListener(new SelectionListener() {
+                       
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               String filename = ""; //$NON-NLS-1$
+                               FileDialog dialog = new FileDialog(new Shell());
+                               filename = dialog.open();
+                               
+                               filenameText.setText(filename);
+                               injectButton.setEnabled(validateFile());
+                       }
+                       
+                       @Override
+                       public void widgetDefaultSelected(SelectionEvent e) {
+                               // TODO Auto-generated method stub
+                               
+                       }
+               });
+               
+               Composite buttonComposite = formUtil.createComposite(mainPage, 2);
+               
+               injectButton = formUtil.createButton(buttonComposite, Messages.LogFile_4, SWT.PUSH);
+               injectButton.addSelectionListener(new SelectionListener() {
+                       
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               final File file = new File(filenameText.getText());
+                               
+                               if (file.exists()) {
+                                       Job injectJob = new Job("Inject Job") {
+                                               
+                                               @Override
+                                               protected IStatus run(IProgressMonitor monitor) {
+                                                       try {
+                                                               injector = new LocationInjector();
+                                                               injector.inject(file, monitor);
+                                                               if(monitor.isCanceled()) {
+                                                                       return Status.CANCEL_STATUS;
+                                                               }
+                                                       } catch (IOException e) {
+                                                               return Status.CANCEL_STATUS;
+                                                       }
+                                                       return Status.OK_STATUS;
+                                               }
+                                       };
+                                       
+                                       injectJob.addJobChangeListener(new JobChangeAdapter() {
+
+                                               @Override
+                                               public void scheduled(IJobChangeEvent event) {
+                                                       injectButton.setEnabled(false);
+                                                       cancelButton.setEnabled(true);
+                                                       ((Log) getParent()).setSiblingsEnabled(false);
+                                               }
+                                       });
+                                       injectJob.schedule();
+                               } else {
+                                       // Exception Error
+                               }
+                       }
+                       
+                       @Override
+                       public void widgetDefaultSelected(SelectionEvent e) {
+                               // TODO Auto-generated method stub
+                               
+                       }
+               });
+               injectButton.setEnabled(false);
+               
+               cancelButton = formUtil.createButton(buttonComposite, Messages.LogFile_6, SWT.PUSH);
+               cancelButton.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               injector.setCancel(true);
+                               injectButton.setEnabled(true);
+                               cancelButton.setEnabled(false);
+                               ((Log) getParent()).setSiblingsEnabled(true);
+                       }
+               });
+               cancelButton.setEnabled(false);
+               
+               return mainPage;
+       }
+       
+       private boolean validateFile() {
+               File file = new File(filenameText.getText());
+               
+               if (!file.exists()) {
+                       return false;
+               }
+               
+               BufferedReader br;
+
+               try {
+                       br = new BufferedReader(new FileReader(file));
+                       
+                       String firstLine = br.readLine();
+                       if (!firstLine.startsWith(FILE_CHECK_VALUE)) {
+                               return false;
+                       }
+                       
+                       br.close();
+               } catch (IOException e) {
+                       return false;
+               }
+
+               return true;
+       }
+}
diff --git a/com.samsung.linuxplatform.location.log/src/com/samsung/linuxplatform/location/log/page/Messages.java b/com.samsung.linuxplatform.location.log/src/com/samsung/linuxplatform/location/log/page/Messages.java
new file mode 100644 (file)
index 0000000..9f92d52
--- /dev/null
@@ -0,0 +1,17 @@
+package com.samsung.linuxplatform.location.log.page;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+       private static final String BUNDLE_NAME = "com.samsung.linuxplatform.location.log.page.messages"; //$NON-NLS-1$
+       public static String LogFile_2;
+       public static String LogFile_4;
+       public static String LogFile_6;
+       static {
+               // initialize resource bundle
+               NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+       }
+
+       private Messages() {
+       }
+}
diff --git a/com.samsung.linuxplatform.location.log/src/com/samsung/linuxplatform/location/log/page/messages.properties b/com.samsung.linuxplatform.location.log/src/com/samsung/linuxplatform/location/log/page/messages.properties
new file mode 100644 (file)
index 0000000..b0849f0
--- /dev/null
@@ -0,0 +1,3 @@
+LogFile_2=Browse
+LogFile_4=Inject Log
+LogFile_6=Cancel
diff --git a/com.samsung.linuxplatform.location.manual/.classpath b/com.samsung.linuxplatform.location.manual/.classpath
new file mode 100644 (file)
index 0000000..ad32c83
--- /dev/null
@@ -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/JavaSE-1.6"/>
+       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+       <classpathentry kind="src" path="src"/>
+       <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/com.samsung.linuxplatform.location.manual/.project b/com.samsung.linuxplatform.location.manual/.project
new file mode 100644 (file)
index 0000000..0be857f
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>com.samsung.linuxplatform.location.manual</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/com.samsung.linuxplatform.location.manual/.settings/org.eclipse.core.resources.prefs b/com.samsung.linuxplatform.location.manual/.settings/org.eclipse.core.resources.prefs
new file mode 100644 (file)
index 0000000..0f39f29
--- /dev/null
@@ -0,0 +1,3 @@
+#Wed Dec 01 09:07:42 CET 2010
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/com.samsung.linuxplatform.location.manual/.settings/org.eclipse.core.runtime.prefs b/com.samsung.linuxplatform.location.manual/.settings/org.eclipse.core.runtime.prefs
new file mode 100644 (file)
index 0000000..713b4d0
--- /dev/null
@@ -0,0 +1,3 @@
+#Tue Dec 14 16:29:47 CET 2010
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/com.samsung.linuxplatform.location.manual/META-INF/MANIFEST.MF b/com.samsung.linuxplatform.location.manual/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..3510416
--- /dev/null
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: com.samsung.linuxplatform.location.manual;singleton:=true
+Bundle-Version: 1.3.20.qualifier
+Bundle-Vendor: %Bundle-Vendor
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.ui.forms,
+ org.eclipse.core.runtime,
+ com.samsung.freshide.common;bundle-version="1.3.13",
+ com.samsung.linuxplatform.injector;bundle-version="1.3.13",
+ com.samsung.linuxplatform.location.core,
+ com.samsung.freshide.connection;bundle-version="1.0.0"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/com.samsung.linuxplatform.location.manual/OSGI-INF/l10n/bundle.properties b/com.samsung.linuxplatform.location.manual/OSGI-INF/l10n/bundle.properties
new file mode 100644 (file)
index 0000000..6eff4b5
--- /dev/null
@@ -0,0 +1,4 @@
+#Properties file for com.samsung.linuxplatform.location.manual
+Bundle-Vendor = Samsung Electronics
+Bundle-Name = SLP SDK Location Manual
+Manual = Manual
\ No newline at end of file
diff --git a/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/Manual.class b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/Manual.class
new file mode 100644 (file)
index 0000000..e3df76b
Binary files /dev/null and b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/Manual.class differ
diff --git a/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/Messages.class b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/Messages.class
new file mode 100644 (file)
index 0000000..1dbbf96
Binary files /dev/null and b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/Messages.class differ
diff --git a/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/messages.properties b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/messages.properties
new file mode 100644 (file)
index 0000000..0a748ca
--- /dev/null
@@ -0,0 +1,2 @@
+Manual_0=Manual
+Manual_1=Coordinate
diff --git a/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$1.class b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$1.class
new file mode 100644 (file)
index 0000000..71a418f
Binary files /dev/null and b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$1.class differ
diff --git a/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$2.class b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$2.class
new file mode 100644 (file)
index 0000000..d3e043c
Binary files /dev/null and b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$2.class differ
diff --git a/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$3$1.class b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$3$1.class
new file mode 100644 (file)
index 0000000..87cc7c1
Binary files /dev/null and b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$3$1.class differ
diff --git a/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$3$2.class b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$3$2.class
new file mode 100644 (file)
index 0000000..c5ba860
Binary files /dev/null and b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$3$2.class differ
diff --git a/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$3.class b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$3.class
new file mode 100644 (file)
index 0000000..7542c04
Binary files /dev/null and b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$3.class differ
diff --git a/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$4.class b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$4.class
new file mode 100644 (file)
index 0000000..8837587
Binary files /dev/null and b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate$4.class differ
diff --git a/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate.class b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate.class
new file mode 100644 (file)
index 0000000..293aac6
Binary files /dev/null and b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Coordinate.class differ
diff --git a/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Messages.class b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Messages.class
new file mode 100644 (file)
index 0000000..9ad3d9e
Binary files /dev/null and b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/Messages.class differ
diff --git a/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/messages.properties b/com.samsung.linuxplatform.location.manual/bin/com/samsung/linuxplatform/location/manual/page/messages.properties
new file mode 100644 (file)
index 0000000..004598d
--- /dev/null
@@ -0,0 +1,4 @@
+Coordinate_0=Latitude\u02DA
+Coordinate_2=Longitude\u02DA
+Coordinate_4=Inject Location
+Coordinate_6=Cancel
diff --git a/com.samsung.linuxplatform.location.manual/build.properties b/com.samsung.linuxplatform.location.manual/build.properties
new file mode 100644 (file)
index 0000000..3605e25
--- /dev/null
@@ -0,0 +1,9 @@
+source.. = src/\r
+output.. = bin/\r
+bin.includes = plugin.xml,\\r
+               META-INF/,\\r
+               .,\\r
+               build.properties,\\r
+               OSGI-INF/l10n/bundle.properties\r
+javacSource = 1.6
+javacTarget = 1.6
diff --git a/com.samsung.linuxplatform.location.manual/build.xml b/com.samsung.linuxplatform.location.manual/build.xml
new file mode 100644 (file)
index 0000000..b83797d
--- /dev/null
@@ -0,0 +1,351 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="com.samsung.linuxplatform.location.manual" default="build.jars" basedir=".">
+
+       <property name="p2.build.repo" value="file:${buildDirectory}/buildRepo"/>
+       <property name="basews" value="${ws}"/>
+       <property name="baseos" value="${os}"/>
+       <property name="basearch" value="${arch}"/>
+       <property name="basenl" value="${nl}"/>
+       <property name="bundleId" value="com.samsung.linuxplatform.location.manual"/>
+       <property name="bundleVersion" value="1.3.20.201103241558"/>
+       <property name="p2.publishonerror" value="false"/>
+
+       <!-- Compiler settings. -->
+       <property name="javacFailOnError" value="false"/>
+       <property name="javacDebugInfo" value="on"/>
+       <property name="javacVerbose" value="false"/>
+       <property name="logExtension" value=".log"/>
+       <property name="compilerArg" value=""/>
+       <condition property="dir_bootclasspath" value="${java.home}/../Classes">
+               <os family="mac"/>
+       </condition>
+       <property name="dir_bootclasspath" value="${java.home}/lib"/>
+       <path id="path_bootclasspath">
+               <fileset dir="${dir_bootclasspath}">
+                       <include name="*.jar"/>
+               </fileset>
+       </path>
+       <property name="bootclasspath" refid="path_bootclasspath"/>
+       <property name="bundleJavacSource" value="1.6"/>
+       <property name="bundleJavacTarget" value="1.6"/>
+       <condition property="bundleBootClasspath" value="${JavaSE-1.6}" >
+               <isset property="JavaSE-1.6"/>
+       </condition>
+       <property name="bundleBootClasspath" value="${bootclasspath}"/>
+
+       <target name="init" depends="properties">
+               <condition property="pluginTemp" value="${buildTempFolder}/plugins"             >
+                       <isset property="buildTempFolder"/>
+               </condition>
+               <property name="pluginTemp" value="${basedir}"/>
+               <condition property="build.result.folder" value="${pluginTemp}/com.samsung.linuxplatform.location.manual_1.3.20.201103241558"           >
+                       <isset property="buildTempFolder"/>
+               </condition>
+               <property name="build.result.folder" value="${basedir}"/>
+               <property name="temp.folder" value="${basedir}/temp.folder"/>
+               <property name="plugin.destination" value="${basedir}"/>
+               <condition property="p2.publish.parts" value="true"             >
+                       <istrue value="${p2.gathering}"/>
+               </condition>
+               <property name="compilation.problem.marker" value="${build.result.folder}/compilation.problem"/>
+               <condition property="compilation.problem.marker.exists" value="true"            >
+                       <and>
+                       <available file="${compilation.problem.marker}"/>
+                       <isfalse value="p2.publishonerror"/>
+                       </and>
+               </condition>
+       </target>
+
+       <target name="properties" if="eclipse.running">
+               <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+
+       </target>
+
+       <target name="build.update.jar" depends="init" description="Build the plug-in: com.samsung.linuxplatform.location.manual for an update site.">
+               <delete dir="${temp.folder}"/>
+               <mkdir dir="${temp.folder}"/>
+               <antcall target="build.jars"/>
+               <antcall target="gather.bin.parts">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <jar destfile="${plugin.destination}/com.samsung.linuxplatform.location.manual_1.3.20.201103241558.jar" basedir="${temp.folder}/com.samsung.linuxplatform.location.manual_1.3.20.201103241558" filesetmanifest="merge"/>
+               <delete dir="${temp.folder}"/>
+       </target>
+
+       <target name="@dot" depends="init" unless="@dot" description="Create jar: com.samsung.linuxplatform.location.manual @dot.">
+               <delete dir="${build.result.folder}/@dot"/>
+               <mkdir dir="${build.result.folder}/@dot"/>
+               <path id="@dot.classpath">
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui_3.5.2.M20100120-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20090525.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.osgi_3.5.2.R35x_v20100126.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800/runtime_registry_compatibility.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.100.v20090413.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.app_1.2.1.R35x_v20091203.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.osgi.services_3.2.0.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/javax.servlet_2.5.0.v200806031605.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.swt_3.5.2.v3557f.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface_3.5.2.M20100120-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.commands_3.5.0.I20090525-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench_3.5.2.M20100113-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/compatibility.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/e4-workbench.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800"/>
+                       <pathelement path="../../../eclipse/plugins/com.ibm.icu_4.0.1.v20090822.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.help_3.4.1.v20090805_35x.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.expressions_3.4.101.R35x_v20100209.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface.databinding_1.3.1.M20090826-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding.observable_1.2.0.M20090902-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding.property_1.2.0.M20090819-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding_1.2.0.M20090819-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.resources.compatibility_3.4.1.R35x_v20100113-0530.jar"/>
+                       <pathelement path="../org.eclipse.core.resources.nl_ko/org.eclipse.core.resources.nl_ko_3.5.0.v20100814074441.jar"/>
+                       <pathelement path="../org.eclipse.core.resources.nl_ko"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ant.core_3.2.101.v20091110_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.variables_3.2.200.v20090521.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filesystem_1.2.1.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filesystem.linux.x86_1.3.0.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.forms_3.4.1.v20090714_35x.jar"/>
+                       <pathelement path="../com.samsung.linuxplatform.common/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common_1.3.20.201103241558/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../org.eclipse.ui.ide/bin"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/bin"/>
+                       <pathelement path="../org.eclipse.ui.ide/e4-ide.jar"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/e4-ide.jar"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide/@dot"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/@dot"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.views_3.4.1.M20090826-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface.text_3.5.2.r352_v20091118-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.text_3.5.0.v20090513-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.engine_1.0.102.R35x_v20091117.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.core_1.0.101.R35x_v20090819.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.metadata_1.0.101.R35x_v20100112.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.metadata.repository_1.0.101.R35x_v20090812.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.repository_1.0.1.R35x_v20100105.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.security_1.0.100.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.filetransfer_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.ssl_1.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.concurrent_1.0.1.R35x_v20100209.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.identity_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.provider.filetransfer_3.0.1.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.net_1.2.1.r35x_20090812-1200.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.net.linux.x86_1.1.0.I20081021.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.artifact.repository_1.0.101.R35x_v20090721.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.100.v20090520-1905.jar"/>
+                       <pathelement path="../com.samsung.linuxplatform.injector/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector_1.3.20.201103241558/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection/bin"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection_1.3.20.201103241558/bin"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.linux/bin/"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.linux/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.windows/bin/"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.windows/@dot"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.console_3.4.0.v20090513.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.texteditor_3.5.1.r352_v20100105.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.compare.core_3.5.0.I20090430-0408.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.debug.ui_3.5.2.v20091028_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.debug.core_3.5.1.v20091103_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.editors_3.5.0.v20090527-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filebuffers_3.5.0.v20090526-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.ui_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.services_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.core_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.efs_2.1.100.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.files.core_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.processes.core_3.1.0.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.shells.core_3.1.0.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.terminals.core_1.0.1.v200908051630.jar"/>
+                       <pathelement path="../../../eclipse/plugins/com.jcraft.jsch_0.1.41.v200903070017.jar"/>
+                       <pathelement path="../com.samsung.linuxplatform.location.core/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.location.core_1.3.20.201103241558/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.location.core/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.location.core_1.3.20.201103241558/@dot"/>
+               </path>
+               <!-- compile the source code -->
+               <javac destdir="${build.result.folder}/@dot" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bundleBootClasspath}" source="${bundleJavacSource}" target="${bundleJavacTarget}"            >
+                       <compilerarg line="${compilerArg}" compiler="${build.compiler}"/>
+                       <classpath refid="@dot.classpath" />
+                       <src path="src/"                        />
+                       <compilerarg value="@${basedir}/javaCompiler...args" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+                       <compilerarg line="-log '${build.result.folder}/@dot${logExtension}'" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+               </javac>
+               <antcall target="checkCompilationResults"/>
+               <!-- Copy necessary resources -->
+               <copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
+                       <fileset dir="src/">
+                               <exclude name="**/*.java"/>
+                               <exclude name="**/package.htm*"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="src.zip" depends="init" unless="src.zip">
+               <mkdir dir="${build.result.folder}"/>
+               <antcall target="zip.src.zip"/>
+       </target>
+       <target name="zip.src.zip">
+               <zip destfile="${build.result.folder}/src.zip" filesonly="false" whenempty="skip" update="false">
+                       <fileset dir="src/">
+                               <include name="**/*.java"/>
+                       </fileset>
+               </zip>
+       </target>
+       <target name="copy.src.zip">
+               <copy todir="${source.destination.folder}/" failonerror="true" overwrite="true">
+                       <fileset dir="src/">
+                               <include name="**/*.java"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="build.jars" depends="init" description="Compile classes and build nested jars for the plug-in: com.samsung.linuxplatform.location.manual.">
+               <delete file="${compilation.problem.marker}" quiet="true"/>
+               <available property="@dot" file="${build.result.folder}/@dot"/>
+               <antcall target="@dot"/>
+       </target>
+
+       <target name="checkCompilationResults" if="compilation.error.occured">
+               <echo file="${compilation.problem.marker}" message="com.samsung.linuxplatform.location.manual : compilation.error.occured=${compilation.error.occured}"/>
+       </target>
+
+       <target name="build.sources" depends="init">
+               <available property="src.zip" file="${build.result.folder}/src.zip"/>
+               <antcall target="src.zip"/>
+       </target>
+
+       <target name="publish.bin.parts" depends="init" if="p2.publish.parts" unless="compilation.problem.marker.exists">
+               <mkdir dir="${build.result.folder}/com.samsung.linuxplatform.location.manual_1.3.20.201103241558"/>
+               <copy todir="${build.result.folder}" failonerror="true" overwrite="true">
+                       <fileset dir="${basedir}">
+                               <include name="META-INF/MANIFEST.MF"/>
+                               <include name="plugin.xml"/>
+                               <include name="fragment.xml"/>
+                       </fileset>
+               </copy>
+               <eclipse.versionReplacer path="${build.result.folder}" version="1.3.20.201103241558"/>
+               <antcall target="apitools.generation">
+                       <param name="target.folder" value="${build.result.folder}"/>
+                       <param name="projectLocation" value="${basedir}"/>
+                       <param name="binary.folders" value="${build.result.folder}/@dot"/>
+                       <param name="projectName" value="${bundleId}_${bundleVersion}"/>
+               </antcall>
+               <eclipse.gatherBundle 
+                  metadataRepository="${p2.build.repo}"
+                  artifactRepository="${p2.build.repo}"
+                  buildResultFolder="${build.result.folder}"
+                  unpack="false"
+                  baseDirectory="${basedir}"
+               />
+       </target>
+
+       <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.location.manual_1.3.20.201103241558"/>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.location.manual_1.3.20.201103241558" failonerror="true" overwrite="false">
+                       <fileset dir="${build.result.folder}/@dot">
+                               <include name="**"/>
+                       </fileset>
+               </copy>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.location.manual_1.3.20.201103241558" failonerror="true" overwrite="true">
+                       <fileset dir="${basedir}">
+                               <include name="plugin.xml"/>
+                               <include name="META-INF/"/>
+                               <include name="build.properties"/>
+                               <include name="OSGI-INF/l10n/bundle.properties"/>
+                       </fileset>
+               </copy>
+               <eclipse.versionReplacer path="${destination.temp.folder}/com.samsung.linuxplatform.location.manual_1.3.20.201103241558" version="1.3.20.201103241558"/>
+               <antcall target="apitools.generation">
+                       <param name="target.folder" value="${destination.temp.folder}/com.samsung.linuxplatform.location.manual_1.3.20.201103241558"/>
+                       <param name="projectLocation" value="${basedir}"/>
+                       <param name="binary.folders" value="${build.result.folder}/@dot"/>
+                       <param name="projectName" value="${bundleId}_${bundleVersion}"/>
+               </antcall>
+       </target>
+
+       <target name="build.zips" depends="init">
+       </target>
+
+       <target name="gather.sources" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.location.manual_1.3.20.201103241558"/>
+               <copy file="${build.result.folder}/src.zip" todir="${destination.temp.folder}/com.samsung.linuxplatform.location.manual_1.3.20.201103241558" failonerror="false" overwrite="false"/>
+               <antcall target="copy.src.includes">
+                       <param name="source.destination.folder" value="${destination.temp.folder}/com.samsung.linuxplatform.location.manual_1.3.20.201103241558"/>
+               </antcall>
+       </target>
+
+       <target name="gather.individual.sources" depends="init">
+               <antcall target="copy.src.zip">
+                       <param name="source.destination.folder" value="${destination.temp.folder}"/>
+               </antcall>
+               <antcall target="copy.src.includes">
+                       <param name="source.destination.folder" value="${destination.temp.folder}"/>
+               </antcall>
+       </target>
+
+       <target name="copy.src.includes" depends="init">
+       </target>
+
+       <target name="gather.logs" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.location.manual_1.3.20.201103241558"/>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.location.manual_1.3.20.201103241558" failonerror="false" overwrite="false">
+                       <fileset dir="${build.result.folder}">
+                               <include name="@dot${logExtension}"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="clean" depends="init" description="Clean the plug-in: com.samsung.linuxplatform.location.manual of all the zips, jars and logs created.">
+               <delete dir="${build.result.folder}/@dot"/>
+               <delete file="${build.result.folder}/src.zip"/>
+               <delete file="${plugin.destination}/com.samsung.linuxplatform.location.manual_1.3.20.201103241558.jar"/>
+               <delete file="${plugin.destination}/com.samsung.linuxplatform.location.manual_1.3.20.201103241558.zip"/>
+               <delete dir="${temp.folder}"/>
+               <delete file="${compilation.problem.marker}" quiet="true"/>
+       </target>
+
+       <target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
+               <eclipse.convertPath fileSystemPath="/home/taeyoung/SLPSDK/git/samsung-sdk-ide/com.samsung.linuxplatform.location.manual" property="resourcePath"/>
+               <eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
+       </target>
+
+       <target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: com.samsung.linuxplatform.location.manual.">
+               <delete dir="${temp.folder}"/>
+               <mkdir dir="${temp.folder}"/>
+               <antcall target="build.jars"/>
+               <antcall target="build.sources"/>
+               <antcall target="gather.bin.parts">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <antcall target="gather.sources">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <delete>
+                       <fileset dir="${temp.folder}">
+                               <include name="**/*.bin${logExtension}"/>
+                       </fileset>
+               </delete>
+               <zip destfile="${plugin.destination}/com.samsung.linuxplatform.location.manual_1.3.20.201103241558.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
+               <delete dir="${temp.folder}"/>
+       </target>
+
+       <target name="apitools.generation" if="generateAPIDescription">
+               <apitooling.apigeneration  projectName="${projectName}" project="${projectLocation}" binary="${binary.folders}" target="${target.folder}"               />
+       </target>
+
+</project>
diff --git a/com.samsung.linuxplatform.location.manual/javaCompiler...args b/com.samsung.linuxplatform.location.manual/javaCompiler...args
new file mode 100644 (file)
index 0000000..ec65bde
--- /dev/null
@@ -0,0 +1,100 @@
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui_3.5.2.M20100120-0800.jar[~org/eclipse/ui/internal/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20090525.jar[~org/eclipse/core/internal/preferences/legacy/*:~org/eclipse/core/internal/runtime/*:+org/eclipse/core/runtime/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.osgi_3.5.2.R35x_v20100126.jar[+org/eclipse/osgi/event/*:+org/eclipse/osgi/framework/console/*:+org/eclipse/osgi/framework/eventmgr/*:+org/eclipse/osgi/framework/log/*:+org/eclipse/osgi/launch/*:+org/eclipse/osgi/service/datalocation/*:+org/eclipse/osgi/service/debug/*:+org/eclipse/osgi/service/environment/*:+org/eclipse/osgi/service/localization/*:+org/eclipse/osgi/service/pluginconversion/*:+org/eclipse/osgi/service/resolver/*:+org/eclipse/osgi/service/runnable/*:+org/eclipse/osgi/service/security/*:+org/eclipse/osgi/service/urlconversion/*:+org/eclipse/osgi/signedcontent/*:+org/eclipse/osgi/storagemanager/*:+org/eclipse/osgi/util/*:+org/osgi/framework/*:+org/osgi/framework/launch/*:+org/osgi/framework/hooks/service/*:+org/osgi/service/condpermadmin/*:~org/osgi/service/framework/*:+org/osgi/service/packageadmin/*:+org/osgi/service/permissionadmin/*:+org/osgi/service/startlevel/*:+org/osgi/service/url/*:+org/osgi/util/tracker/*:~org/eclipse/core/runtime/adaptor/*:~org/eclipse/core/runtime/internal/adaptor/*:~org/eclipse/core/runtime/internal/stats/*:~org/eclipse/osgi/baseadaptor/*:~org/eclipse/osgi/baseadaptor/bundlefile/*:~org/eclipse/osgi/baseadaptor/hooks/*:~org/eclipse/osgi/baseadaptor/loader/*:~org/eclipse/osgi/framework/adaptor/*:~org/eclipse/osgi/framework/debug/*:~org/eclipse/osgi/framework/internal/core/*:~org/eclipse/osgi/framework/internal/protocol/*:~org/eclipse/osgi/framework/internal/protocol/bundleentry/*:~org/eclipse/osgi/framework/internal/protocol/bundleresource/*:~org/eclipse/osgi/framework/internal/protocol/reference/*:~org/eclipse/osgi/framework/internal/reliablefile/*:~org/eclipse/osgi/framework/util/*:~org/eclipse/osgi/internal/baseadaptor/*:~org/eclipse/osgi/internal/composite/*:~org/eclipse/osgi/internal/loader/*:~org/eclipse/osgi/internal/loader/buddy/*:~org/eclipse/osgi/internal/module/*:~org/eclipse/osgi/internal/profile/*:~org/eclipse/osgi/internal/resolver/*:~org/eclipse/osgi/internal/serviceregistry/*:~org/eclipse/osgi/internal/permadmin/*:~org/eclipse/osgi/internal/provisional/service/security/*:~org/eclipse/osgi/internal/provisional/verifier/*:~org/eclipse/osgi/internal/service/security/*:~org/eclipse/osgi/internal/signedcontent/*:~org/eclipse/osgi/service/internal/composite/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar[~org/eclipse/core/internal/boot/*:~org/eclipse/core/internal/runtime/*:+org/eclipse/core/runtime/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar[~org/eclipse/core/internal/jobs/*:+org/eclipse/core/runtime/jobs/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800/runtime_registry_compatibility.jar[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar[~org/eclipse/core/internal/preferences/*:~org/eclipse/core/internal/preferences/exchange/*:+org/eclipse/core/runtime/preferences/*:+org/osgi/service/prefs/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar[~org/eclipse/core/internal/content/*:+org/eclipse/core/runtime/content/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.100.v20090413.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.app_1.2.1.R35x_v20091203.jar[+org/eclipse/equinox/app/*:~org/eclipse/equinox/internal/app/*:+org/osgi/service/application/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.osgi.services_3.2.0.v20090520-1800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/javax.servlet_2.5.0.v200806031605.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.swt_3.5.2.v3557f.jar[+org/eclipse/swt/*:+org/eclipse/swt/accessibility/*:+org/eclipse/swt/awt/*:+org/eclipse/swt/browser/*:+org/eclipse/swt/custom/*:+org/eclipse/swt/dnd/*:+org/eclipse/swt/events/*:+org/eclipse/swt/graphics/*:+org/eclipse/swt/layout/*:+org/eclipse/swt/opengl/*:+org/eclipse/swt/printing/*:+org/eclipse/swt/program/*:+org/eclipse/swt/widgets/*:~org/eclipse/swt/internal/*:~org/eclipse/swt/internal/image/*:~org/eclipse/swt/internal/theme/*:~org/eclipse/swt/internal/accessibility/gtk/*:~org/eclipse/swt/internal/cairo/*:~org/eclipse/swt/internal/cde/*:~org/eclipse/swt/internal/gnome/*:~org/eclipse/swt/internal/gtk/*:~org/eclipse/swt/internal/mozilla/*:~org/eclipse/swt/internal/opengl/glx/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar[+org/eclipse/swt/*:+org/eclipse/swt/accessibility/*:+org/eclipse/swt/awt/*:+org/eclipse/swt/browser/*:+org/eclipse/swt/custom/*:+org/eclipse/swt/dnd/*:+org/eclipse/swt/events/*:+org/eclipse/swt/graphics/*:+org/eclipse/swt/layout/*:+org/eclipse/swt/opengl/*:+org/eclipse/swt/printing/*:+org/eclipse/swt/program/*:+org/eclipse/swt/widgets/*:~org/eclipse/swt/internal/*:~org/eclipse/swt/internal/image/*:~org/eclipse/swt/internal/theme/*:~org/eclipse/swt/internal/accessibility/gtk/*:~org/eclipse/swt/internal/cairo/*:~org/eclipse/swt/internal/cde/*:~org/eclipse/swt/internal/gnome/*:~org/eclipse/swt/internal/gtk/*:~org/eclipse/swt/internal/mozilla/*:~org/eclipse/swt/internal/opengl/glx/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface_3.5.2.M20100120-0800.jar[+org/eclipse/jface/*:+org/eclipse/jface/action/*:+org/eclipse/jface/action/images/*:+org/eclipse/jface/bindings/*:+org/eclipse/jface/bindings/keys/*:+org/eclipse/jface/bindings/keys/formatting/*:+org/eclipse/jface/commands/*:+org/eclipse/jface/contexts/*:+org/eclipse/jface/dialogs/*:+org/eclipse/jface/dialogs/images/*:+org/eclipse/jface/fieldassist/*:+org/eclipse/jface/fieldassist/images/*:+org/eclipse/jface/images/*:~org/eclipse/jface/internal/*:~org/eclipse/jface/internal/provisional/action/*:+org/eclipse/jface/layout/*:+org/eclipse/jface/menus/*:+org/eclipse/jface/operation/*:+org/eclipse/jface/preference/*:+org/eclipse/jface/preference/images/*:+org/eclipse/jface/resource/*:+org/eclipse/jface/util/*:+org/eclipse/jface/viewers/*:+org/eclipse/jface/viewers/deferred/*:+org/eclipse/jface/window/*:+org/eclipse/jface/wizard/*:+org/eclipse/jface/wizard/images/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.commands_3.5.0.I20090525-2000.jar[+org/eclipse/core/commands/*:+org/eclipse/core/commands/common/*:+org/eclipse/core/commands/contexts/*:+org/eclipse/core/commands/operations/*:+org/eclipse/core/commands/util/*:~org/eclipse/core/internal/commands/operations/*:~org/eclipse/core/internal/commands/util/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench_3.5.2.M20100113-0800.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/compatibility.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/e4-workbench.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/com.ibm.icu_4.0.1.v20090822.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.help_3.4.1.v20090805_35x.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.expressions_3.4.101.R35x_v20100209.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface.databinding_1.3.1.M20090826-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding.observable_1.2.0.M20090902-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding.property_1.2.0.M20090819-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding_1.2.0.M20090819-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.resources.compatibility_3.4.1.R35x_v20100113-0530.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.core.resources.nl_ko/org.eclipse.core.resources.nl_ko_3.5.0.v20100814074441.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.core.resources.nl_ko[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ant.core_3.2.101.v20091110_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.variables_3.2.200.v20090521.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filesystem_1.2.1.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filesystem.linux.x86_1.3.0.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.forms_3.4.1.v20090714_35x.jar[+org/eclipse/ui/forms/*:+org/eclipse/ui/forms/editor/*:+org/eclipse/ui/forms/events/*:+org/eclipse/ui/forms/widgets/*:~org/eclipse/ui/internal/forms/*:~org/eclipse/ui/internal/forms/widgets/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common/bin/[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common_1.3.20.201103241558/bin/[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common/@dot[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/bin[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/bin[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/e4-ide.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/e4-ide.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/@dot[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/@dot[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.views_3.4.1.M20090826-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface.text_3.5.2.r352_v20091118-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.text_3.5.0.v20090513-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.engine_1.0.102.R35x_v20091117.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.core_1.0.101.R35x_v20090819.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.metadata_1.0.101.R35x_v20100112.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.metadata.repository_1.0.101.R35x_v20090812.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.repository_1.0.1.R35x_v20100105.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.security_1.0.100.v20090520-1800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.filetransfer_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.ssl_1.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.concurrent_1.0.1.R35x_v20100209.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.identity_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.provider.filetransfer_3.0.1.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.net_1.2.1.r35x_20090812-1200.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.net.linux.x86_1.1.0.I20081021.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.artifact.repository_1.0.101.R35x_v20090721.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.100.v20090520-1905.jar[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector/bin/[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector_1.3.20.201103241558/bin/[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector/@dot[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection/bin[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection_1.3.20.201103241558/bin[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection/@dot[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.linux/bin/[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.linux/@dot[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.windows/bin/[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.windows/@dot[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.console_3.4.0.v20090513.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.texteditor_3.5.1.r352_v20100105.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.compare.core_3.5.0.I20090430-0408.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.debug.ui_3.5.2.v20091028_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.debug.core_3.5.1.v20091103_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.editors_3.5.0.v20090527-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filebuffers_3.5.0.v20090526-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.ui_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.services_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.core_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.efs_2.1.100.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.files.core_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.processes.core_3.1.0.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.shells.core_3.1.0.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.terminals.core_1.0.1.v200908051630.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/com.jcraft.jsch_0.1.41.v200903070017.jar[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.location.core/bin/[+com/samsung/linuxplatform/location/core/injector/*:+com/samsung/linuxplatform/location/core/model/*:+com/samsung/linuxplatform/location/core/protocol/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.location.core_1.3.20.201103241558/bin/[+com/samsung/linuxplatform/location/core/injector/*:+com/samsung/linuxplatform/location/core/model/*:+com/samsung/linuxplatform/location/core/protocol/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.location.core/@dot[+com/samsung/linuxplatform/location/core/injector/*:+com/samsung/linuxplatform/location/core/model/*:+com/samsung/linuxplatform/location/core/protocol/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.location.core_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/location/core/injector/*:+com/samsung/linuxplatform/location/core/model/*:+com/samsung/linuxplatform/location/core/protocol/*:?**/*]
diff --git a/com.samsung.linuxplatform.location.manual/plugin.xml b/com.samsung.linuxplatform.location.manual/plugin.xml
new file mode 100644 (file)
index 0000000..5cba287
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<?eclipse version="3.2"?>\r
+<plugin>\r
+   <extension\r
+         point="com.samsung.linuxplatform.injector.injectorItemProvider">\r
+      <itemType\r
+            category="Location"\r
+            class="com.samsung.linuxplatform.location.manual.Manual"\r
+            id="com.samsung.linuxplatform.location.manual"\r
+            name="%Manual">\r
+      </itemType>\r
+   </extension>\r
+</plugin>\r
diff --git a/com.samsung.linuxplatform.location.manual/src/com/samsung/linuxplatform/location/manual/Manual.java b/com.samsung.linuxplatform.location.manual/src/com/samsung/linuxplatform/location/manual/Manual.java
new file mode 100644 (file)
index 0000000..484da0e
--- /dev/null
@@ -0,0 +1,36 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.location.manual;
+
+import java.util.ArrayList;
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.Section;
+
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+import com.samsung.linuxplatform.location.manual.page.Coordinate;
+
+public class Manual extends AbstractInjectorItem {
+       private static String LABEL = Messages.Manual_0; 
+
+       @Override
+       protected void addPages() {
+               addPage(new Coordinate(this, Messages.Manual_1));
+       }
+       
+       public void setSiblingsEnabled(boolean enabled) {
+               ArrayList<Composite> list = getCategoryItems("Location"); //$NON-NLS-1$
+               for (int i = 0; i < list.size(); i++) {
+                       Section parent = (Section) list.get(i).getParent();
+                       if (!parent.getText().equals(LABEL)) {
+                               if(!enabled) {
+                                       parent.setExpanded(enabled);
+                               }
+                               parent.setEnabled(enabled);     
+                       }
+               }
+       }
+}
diff --git a/com.samsung.linuxplatform.location.manual/src/com/samsung/linuxplatform/location/manual/Messages.java b/com.samsung.linuxplatform.location.manual/src/com/samsung/linuxplatform/location/manual/Messages.java
new file mode 100644 (file)
index 0000000..67f22cc
--- /dev/null
@@ -0,0 +1,16 @@
+package com.samsung.linuxplatform.location.manual;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+       private static final String BUNDLE_NAME = "com.samsung.linuxplatform.location.manual.messages"; //$NON-NLS-1$
+       public static String Manual_0;
+       public static String Manual_1;
+       static {
+               // initialize resource bundle
+               NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+       }
+
+       private Messages() {
+       }
+}
diff --git a/com.samsung.linuxplatform.location.manual/src/com/samsung/linuxplatform/location/manual/messages.properties b/com.samsung.linuxplatform.location.manual/src/com/samsung/linuxplatform/location/manual/messages.properties
new file mode 100644 (file)
index 0000000..0a748ca
--- /dev/null
@@ -0,0 +1,2 @@
+Manual_0=Manual
+Manual_1=Coordinate
diff --git a/com.samsung.linuxplatform.location.manual/src/com/samsung/linuxplatform/location/manual/page/Coordinate.java b/com.samsung.linuxplatform.location.manual/src/com/samsung/linuxplatform/location/manual/page/Coordinate.java
new file mode 100644 (file)
index 0000000..966d5d9
--- /dev/null
@@ -0,0 +1,179 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.location.manual.page;
+
+import java.io.IOException;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.IJobChangeEvent;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.core.runtime.jobs.JobChangeAdapter;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+//import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+//import org.eclipse.ui.IWorkbenchWindow;
+//import org.eclipse.ui.PlatformUI;
+
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorPage;
+//import com.samsung.linuxplatform.location.core.injector.AbstractLocationInjector;
+import com.samsung.linuxplatform.location.core.injector.LocationInjector;
+import com.samsung.linuxplatform.location.core.protocol.GeoLocation;
+//import com.samsung.linuxplatform.location.core.protocol.AbstractNMEA0183;
+//import com.samsung.linuxplatform.location.core.protocol.NMEA0183_GPGGA;
+//import com.samsung.linuxplatform.location.core.protocol.NMEA0183_GPGSA;
+//import com.samsung.linuxplatform.location.core.protocol.NMEA0183_GPGSV;
+//import com.samsung.linuxplatform.location.core.protocol.NMEA0183_GPRMC;
+import com.samsung.linuxplatform.location.manual.Manual;
+
+public class Coordinate extends AbstractInjectorPage {
+       
+       private Text latitudeText;
+       private Text longitudeText;
+       private Button injectButton;
+       private Button cancelButton;
+       
+       private LocationInjector injector;
+       
+       public Coordinate(AbstractInjectorItem item, String name) {
+               super(item, name);
+       }
+
+       @Override
+       protected void createContents() {
+               createCooridinateInputComposite();
+       }
+
+       @Override
+       protected void registerReceivers() {
+               // TODO Auto-generated method stub
+               
+       }
+       
+       private Control createCooridinateInputComposite() {
+               Composite mainPage = formUtil.createComposite(parent, 2);
+               
+               formUtil.createLabel(mainPage, Messages.Coordinate_0);
+               latitudeText = formUtil.createText(mainPage, ""); //$NON-NLS-1$
+               latitudeText.addModifyListener(new ModifyListener() {
+                       
+                       @Override
+                       public void modifyText(ModifyEvent e) {
+                               injectButton.setEnabled(validateValues());
+                       }
+               });
+               
+               formUtil.createLabel(mainPage, Messages.Coordinate_2);
+               longitudeText = formUtil.createText(mainPage, ""); //$NON-NLS-1$
+               longitudeText.addModifyListener(new ModifyListener() {
+                       
+                       @Override
+                       public void modifyText(ModifyEvent e) {
+                               injectButton.setEnabled(validateValues());
+                       }
+               });
+               
+               injectButton = formUtil.createButton(mainPage, Messages.Coordinate_4, SWT.PUSH);
+               injectButton.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               Double latitude = Double.parseDouble(latitudeText.getText().trim());
+                               Double longitude =  Double.parseDouble(longitudeText.getText().trim());
+                               final GeoLocation location = new GeoLocation(latitude, longitude);
+//                             final List<AbstractNMEA0183> NMEASentences = new ArrayList<AbstractNMEA0183>();
+                               
+//                             NMEASentences.add(new NMEA0183_GPGSV(1));
+//                             NMEASentences.add(new NMEA0183_GPGSV(2));
+//                             NMEASentences.add(new NMEA0183_GPGSV(3));
+//                             NMEASentences.add(new NMEA0183_GPGGA(Double.parseDouble(latitudeText.getText().trim()), Double.parseDouble(longitudeText.getText().trim())));
+//                             NMEASentences.add(new NMEA0183_GPRMC(Double.parseDouble(latitudeText.getText().trim()), Double.parseDouble(longitudeText.getText().trim())));
+//                             NMEASentences.add(new NMEA0183_GPGSA());
+                               
+                               Job injectJob = new Job("Inject Job") {
+                                       
+                                       @Override
+                                       protected IStatus run(IProgressMonitor monitor) {
+                                               try {
+                                                       injector = new LocationInjector();
+//                                                     injector.inject(NMEASentences.toArray(new AbstractNMEA0183[NMEASentences.size()]), monitor);
+                                                       injector.inject(location, monitor);
+                                                       if(monitor.isCanceled()) {
+                                                               return Status.CANCEL_STATUS;
+                                                       }
+                                               } catch (IOException e) {
+                                                       return Status.CANCEL_STATUS;
+                                               }
+                                               return Status.OK_STATUS;
+                                       }
+                               };
+                               
+                               injectJob.addJobChangeListener(new JobChangeAdapter() {
+
+                                       @Override
+                                       public void scheduled(IJobChangeEvent event) {
+                                               injectButton.setEnabled(false);
+                                               cancelButton.setEnabled(true);
+                                               ((Manual) getParent()).setSiblingsEnabled(false);
+                                       }
+                               });
+                               
+                               injectJob.schedule();
+                       }
+               });
+               
+               injectButton.setEnabled(false);
+               
+               cancelButton = formUtil.createButton(mainPage, Messages.Coordinate_6, SWT.PUSH);
+               cancelButton.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               injector.setCancel(true);
+                               injectButton.setEnabled(true);
+                               cancelButton.setEnabled(false);
+                               ((Manual) getParent()).setSiblingsEnabled(true);
+                       }
+               });
+               cancelButton.setEnabled(false);
+               
+               return mainPage;
+       }
+       
+       boolean validateValues() {
+               double value;
+               
+               if (!latitudeText.getText().matches("[+|-]*[0-9]*[.]?[0-9]+")) { //$NON-NLS-1$
+                       injectButton.setEnabled(false);
+                       return false;
+               }
+               
+               value = Double.parseDouble(latitudeText.getText());
+               
+               if (value >= 90 || value <= -90) {
+                       return false;
+               }
+               
+               if (!longitudeText.getText().matches("[+|-]*[0-9]*[.]?[0-9]+")) { //$NON-NLS-1$
+                       return false;
+               }
+               
+               value = Double.parseDouble(longitudeText.getText());
+               
+               if (value >= 180 || value <= -180) {
+                       return false;
+               } 
+               
+               return true;
+       }
+}
diff --git a/com.samsung.linuxplatform.location.manual/src/com/samsung/linuxplatform/location/manual/page/Messages.java b/com.samsung.linuxplatform.location.manual/src/com/samsung/linuxplatform/location/manual/page/Messages.java
new file mode 100644 (file)
index 0000000..5daa13a
--- /dev/null
@@ -0,0 +1,18 @@
+package com.samsung.linuxplatform.location.manual.page;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+       private static final String BUNDLE_NAME = "com.samsung.linuxplatform.location.manual.page.messages"; //$NON-NLS-1$
+       public static String Coordinate_0;
+       public static String Coordinate_2;
+       public static String Coordinate_4;
+       public static String Coordinate_6;
+       static {
+               // initialize resource bundle
+               NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+       }
+
+       private Messages() {
+       }
+}
diff --git a/com.samsung.linuxplatform.location.manual/src/com/samsung/linuxplatform/location/manual/page/messages.properties b/com.samsung.linuxplatform.location.manual/src/com/samsung/linuxplatform/location/manual/page/messages.properties
new file mode 100644 (file)
index 0000000..004598d
--- /dev/null
@@ -0,0 +1,4 @@
+Coordinate_0=Latitude\u02DA
+Coordinate_2=Longitude\u02DA
+Coordinate_4=Inject Location
+Coordinate_6=Cancel
diff --git a/com.samsung.linuxplatform.location.map/.classpath b/com.samsung.linuxplatform.location.map/.classpath
new file mode 100644 (file)
index 0000000..ad32c83
--- /dev/null
@@ -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/JavaSE-1.6"/>
+       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+       <classpathentry kind="src" path="src"/>
+       <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/com.samsung.linuxplatform.location.map/.project b/com.samsung.linuxplatform.location.map/.project
new file mode 100644 (file)
index 0000000..65aeb01
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>com.samsung.linuxplatform.location.map</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/com.samsung.linuxplatform.location.map/.settings/org.eclipse.core.resources.prefs b/com.samsung.linuxplatform.location.map/.settings/org.eclipse.core.resources.prefs
new file mode 100644 (file)
index 0000000..0f1b4c1
--- /dev/null
@@ -0,0 +1,3 @@
+#Wed Dec 01 09:07:51 CET 2010
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/com.samsung.linuxplatform.location.map/.settings/org.eclipse.core.runtime.prefs b/com.samsung.linuxplatform.location.map/.settings/org.eclipse.core.runtime.prefs
new file mode 100644 (file)
index 0000000..cfb63fa
--- /dev/null
@@ -0,0 +1,3 @@
+#Tue Dec 14 16:29:57 CET 2010
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/com.samsung.linuxplatform.location.map/META-INF/MANIFEST.MF b/com.samsung.linuxplatform.location.map/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..23b3575
--- /dev/null
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: com.samsung.linuxplatform.location.map;singleton:=true
+Bundle-Version: 1.3.20.qualifier
+Bundle-Vendor: %Bundle-Vendor
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.core.net;bundle-version="1.2.1",
+ org.eclipse.ui.forms;bundle-version="3.3.103",
+ com.samsung.freshide.common,
+ com.samsung.linuxplatform.injector,
+ com.samsung.linuxplatform.location.core,
+ com.samsung.freshide.connection;bundle-version="1.0.0"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/com.samsung.linuxplatform.location.map/OSGI-INF/l10n/bundle.properties b/com.samsung.linuxplatform.location.map/OSGI-INF/l10n/bundle.properties
new file mode 100644 (file)
index 0000000..0932c7d
--- /dev/null
@@ -0,0 +1,4 @@
+#Properties file for com.samsung.linuxplatform.location.map
+Bundle-Vendor = Samsung Electronics
+Bundle-Name = SLP SDK Location Map
+Map = Map
\ No newline at end of file
diff --git a/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/Map.class b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/Map.class
new file mode 100644 (file)
index 0000000..430db35
Binary files /dev/null and b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/Map.class differ
diff --git a/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/Messages.class b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/Messages.class
new file mode 100644 (file)
index 0000000..141b1f2
Binary files /dev/null and b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/Messages.class differ
diff --git a/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/messages.properties b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/messages.properties
new file mode 100644 (file)
index 0000000..ecc07c8
--- /dev/null
@@ -0,0 +1,2 @@
+Map_0=Map
+Map_1=Map Image
diff --git a/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$1.class b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$1.class
new file mode 100644 (file)
index 0000000..805f176
Binary files /dev/null and b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$1.class differ
diff --git a/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$2$1$1.class b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$2$1$1.class
new file mode 100644 (file)
index 0000000..52b6879
Binary files /dev/null and b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$2$1$1.class differ
diff --git a/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$2$1.class b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$2$1.class
new file mode 100644 (file)
index 0000000..9a7c068
Binary files /dev/null and b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$2$1.class differ
diff --git a/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$2.class b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$2.class
new file mode 100644 (file)
index 0000000..1e6046a
Binary files /dev/null and b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$2.class differ
diff --git a/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$3$1.class b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$3$1.class
new file mode 100644 (file)
index 0000000..cf0971e
Binary files /dev/null and b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$3$1.class differ
diff --git a/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$3$2.class b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$3$2.class
new file mode 100644 (file)
index 0000000..39b1b94
Binary files /dev/null and b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$3$2.class differ
diff --git a/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$3.class b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$3.class
new file mode 100644 (file)
index 0000000..48c0781
Binary files /dev/null and b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$3.class differ
diff --git a/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$4.class b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$4.class
new file mode 100644 (file)
index 0000000..f2a194d
Binary files /dev/null and b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$4.class differ
diff --git a/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$5.class b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$5.class
new file mode 100644 (file)
index 0000000..3d5f22b
Binary files /dev/null and b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage$5.class differ
diff --git a/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage.class b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage.class
new file mode 100644 (file)
index 0000000..6766f1a
Binary files /dev/null and b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/MapImage.class differ
diff --git a/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/Messages.class b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/Messages.class
new file mode 100644 (file)
index 0000000..8d08c50
Binary files /dev/null and b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/Messages.class differ
diff --git a/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/messages.properties b/com.samsung.linuxplatform.location.map/bin/com/samsung/linuxplatform/location/map/page/messages.properties
new file mode 100644 (file)
index 0000000..6119859
--- /dev/null
@@ -0,0 +1,7 @@
+MapImage_0=Seq
+MapImage_1=Latitude
+MapImage_2=Longitude
+MapImage_62=Location Markers
+MapImage_66=Inject Markers
+MapImage_68=Reset Markers
+MapImage_73=Cancel
diff --git a/com.samsung.linuxplatform.location.map/build.properties b/com.samsung.linuxplatform.location.map/build.properties
new file mode 100644 (file)
index 0000000..f9eefdc
--- /dev/null
@@ -0,0 +1,8 @@
+source.. = src/\r
+output.. = bin/\r
+bin.includes = plugin.xml,\\r
+               META-INF/,\\r
+               .,\\r
+               OSGI-INF/l10n/bundle.properties\r
+javacSource = 1.6
+javacTarget = 1.6
diff --git a/com.samsung.linuxplatform.location.map/build.xml b/com.samsung.linuxplatform.location.map/build.xml
new file mode 100644 (file)
index 0000000..db115d0
--- /dev/null
@@ -0,0 +1,350 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="com.samsung.linuxplatform.location.map" default="build.jars" basedir=".">
+
+       <property name="p2.build.repo" value="file:${buildDirectory}/buildRepo"/>
+       <property name="basews" value="${ws}"/>
+       <property name="baseos" value="${os}"/>
+       <property name="basearch" value="${arch}"/>
+       <property name="basenl" value="${nl}"/>
+       <property name="bundleId" value="com.samsung.linuxplatform.location.map"/>
+       <property name="bundleVersion" value="1.3.20.201103241558"/>
+       <property name="p2.publishonerror" value="false"/>
+
+       <!-- Compiler settings. -->
+       <property name="javacFailOnError" value="false"/>
+       <property name="javacDebugInfo" value="on"/>
+       <property name="javacVerbose" value="false"/>
+       <property name="logExtension" value=".log"/>
+       <property name="compilerArg" value=""/>
+       <condition property="dir_bootclasspath" value="${java.home}/../Classes">
+               <os family="mac"/>
+       </condition>
+       <property name="dir_bootclasspath" value="${java.home}/lib"/>
+       <path id="path_bootclasspath">
+               <fileset dir="${dir_bootclasspath}">
+                       <include name="*.jar"/>
+               </fileset>
+       </path>
+       <property name="bootclasspath" refid="path_bootclasspath"/>
+       <property name="bundleJavacSource" value="1.6"/>
+       <property name="bundleJavacTarget" value="1.6"/>
+       <condition property="bundleBootClasspath" value="${JavaSE-1.6}" >
+               <isset property="JavaSE-1.6"/>
+       </condition>
+       <property name="bundleBootClasspath" value="${bootclasspath}"/>
+
+       <target name="init" depends="properties">
+               <condition property="pluginTemp" value="${buildTempFolder}/plugins"             >
+                       <isset property="buildTempFolder"/>
+               </condition>
+               <property name="pluginTemp" value="${basedir}"/>
+               <condition property="build.result.folder" value="${pluginTemp}/com.samsung.linuxplatform.location.map_1.3.20.201103241558"              >
+                       <isset property="buildTempFolder"/>
+               </condition>
+               <property name="build.result.folder" value="${basedir}"/>
+               <property name="temp.folder" value="${basedir}/temp.folder"/>
+               <property name="plugin.destination" value="${basedir}"/>
+               <condition property="p2.publish.parts" value="true"             >
+                       <istrue value="${p2.gathering}"/>
+               </condition>
+               <property name="compilation.problem.marker" value="${build.result.folder}/compilation.problem"/>
+               <condition property="compilation.problem.marker.exists" value="true"            >
+                       <and>
+                       <available file="${compilation.problem.marker}"/>
+                       <isfalse value="p2.publishonerror"/>
+                       </and>
+               </condition>
+       </target>
+
+       <target name="properties" if="eclipse.running">
+               <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+
+       </target>
+
+       <target name="build.update.jar" depends="init" description="Build the plug-in: com.samsung.linuxplatform.location.map for an update site.">
+               <delete dir="${temp.folder}"/>
+               <mkdir dir="${temp.folder}"/>
+               <antcall target="build.jars"/>
+               <antcall target="gather.bin.parts">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <jar destfile="${plugin.destination}/com.samsung.linuxplatform.location.map_1.3.20.201103241558.jar" basedir="${temp.folder}/com.samsung.linuxplatform.location.map_1.3.20.201103241558" filesetmanifest="merge"/>
+               <delete dir="${temp.folder}"/>
+       </target>
+
+       <target name="@dot" depends="init" unless="@dot" description="Create jar: com.samsung.linuxplatform.location.map @dot.">
+               <delete dir="${build.result.folder}/@dot"/>
+               <mkdir dir="${build.result.folder}/@dot"/>
+               <path id="@dot.classpath">
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui_3.5.2.M20100120-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20090525.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.osgi_3.5.2.R35x_v20100126.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800/runtime_registry_compatibility.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.100.v20090413.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.app_1.2.1.R35x_v20091203.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.osgi.services_3.2.0.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/javax.servlet_2.5.0.v200806031605.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.swt_3.5.2.v3557f.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface_3.5.2.M20100120-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.commands_3.5.0.I20090525-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench_3.5.2.M20100113-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/compatibility.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/e4-workbench.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800"/>
+                       <pathelement path="../../../eclipse/plugins/com.ibm.icu_4.0.1.v20090822.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.help_3.4.1.v20090805_35x.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.expressions_3.4.101.R35x_v20100209.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface.databinding_1.3.1.M20090826-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding.observable_1.2.0.M20090902-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding.property_1.2.0.M20090819-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding_1.2.0.M20090819-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.resources.compatibility_3.4.1.R35x_v20100113-0530.jar"/>
+                       <pathelement path="../org.eclipse.core.resources.nl_ko/org.eclipse.core.resources.nl_ko_3.5.0.v20100814074441.jar"/>
+                       <pathelement path="../org.eclipse.core.resources.nl_ko"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ant.core_3.2.101.v20091110_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.variables_3.2.200.v20090521.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filesystem_1.2.1.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filesystem.linux.x86_1.3.0.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.net_1.2.1.r35x_20090812-1200.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.net.linux.x86_1.1.0.I20081021.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.security_1.0.100.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.forms_3.4.1.v20090714_35x.jar"/>
+                       <pathelement path="../com.samsung.linuxplatform.common/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common_1.3.20.201103241558/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../org.eclipse.ui.ide/bin"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/bin"/>
+                       <pathelement path="../org.eclipse.ui.ide/e4-ide.jar"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/e4-ide.jar"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide/@dot"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/@dot"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.views_3.4.1.M20090826-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface.text_3.5.2.r352_v20091118-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.text_3.5.0.v20090513-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.engine_1.0.102.R35x_v20091117.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.core_1.0.101.R35x_v20090819.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.metadata_1.0.101.R35x_v20100112.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.metadata.repository_1.0.101.R35x_v20090812.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.repository_1.0.1.R35x_v20100105.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.filetransfer_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.ssl_1.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.concurrent_1.0.1.R35x_v20100209.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.identity_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.provider.filetransfer_3.0.1.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.artifact.repository_1.0.101.R35x_v20090721.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.100.v20090520-1905.jar"/>
+                       <pathelement path="../com.samsung.linuxplatform.injector/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector_1.3.20.201103241558/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection/bin"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection_1.3.20.201103241558/bin"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.linux/bin/"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.linux/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.windows/bin/"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.windows/@dot"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.console_3.4.0.v20090513.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.texteditor_3.5.1.r352_v20100105.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.compare.core_3.5.0.I20090430-0408.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.debug.ui_3.5.2.v20091028_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.debug.core_3.5.1.v20091103_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.editors_3.5.0.v20090527-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filebuffers_3.5.0.v20090526-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.ui_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.services_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.core_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.efs_2.1.100.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.files.core_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.processes.core_3.1.0.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.shells.core_3.1.0.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.terminals.core_1.0.1.v200908051630.jar"/>
+                       <pathelement path="../../../eclipse/plugins/com.jcraft.jsch_0.1.41.v200903070017.jar"/>
+                       <pathelement path="../com.samsung.linuxplatform.location.core/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.location.core_1.3.20.201103241558/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.location.core/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.location.core_1.3.20.201103241558/@dot"/>
+               </path>
+               <!-- compile the source code -->
+               <javac destdir="${build.result.folder}/@dot" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bundleBootClasspath}" source="${bundleJavacSource}" target="${bundleJavacTarget}"            >
+                       <compilerarg line="${compilerArg}" compiler="${build.compiler}"/>
+                       <classpath refid="@dot.classpath" />
+                       <src path="src/"                        />
+                       <compilerarg value="@${basedir}/javaCompiler...args" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+                       <compilerarg line="-log '${build.result.folder}/@dot${logExtension}'" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+               </javac>
+               <antcall target="checkCompilationResults"/>
+               <!-- Copy necessary resources -->
+               <copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
+                       <fileset dir="src/">
+                               <exclude name="**/*.java"/>
+                               <exclude name="**/package.htm*"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="src.zip" depends="init" unless="src.zip">
+               <mkdir dir="${build.result.folder}"/>
+               <antcall target="zip.src.zip"/>
+       </target>
+       <target name="zip.src.zip">
+               <zip destfile="${build.result.folder}/src.zip" filesonly="false" whenempty="skip" update="false">
+                       <fileset dir="src/">
+                               <include name="**/*.java"/>
+                       </fileset>
+               </zip>
+       </target>
+       <target name="copy.src.zip">
+               <copy todir="${source.destination.folder}/" failonerror="true" overwrite="true">
+                       <fileset dir="src/">
+                               <include name="**/*.java"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="build.jars" depends="init" description="Compile classes and build nested jars for the plug-in: com.samsung.linuxplatform.location.map.">
+               <delete file="${compilation.problem.marker}" quiet="true"/>
+               <available property="@dot" file="${build.result.folder}/@dot"/>
+               <antcall target="@dot"/>
+       </target>
+
+       <target name="checkCompilationResults" if="compilation.error.occured">
+               <echo file="${compilation.problem.marker}" message="com.samsung.linuxplatform.location.map : compilation.error.occured=${compilation.error.occured}"/>
+       </target>
+
+       <target name="build.sources" depends="init">
+               <available property="src.zip" file="${build.result.folder}/src.zip"/>
+               <antcall target="src.zip"/>
+       </target>
+
+       <target name="publish.bin.parts" depends="init" if="p2.publish.parts" unless="compilation.problem.marker.exists">
+               <mkdir dir="${build.result.folder}/com.samsung.linuxplatform.location.map_1.3.20.201103241558"/>
+               <copy todir="${build.result.folder}" failonerror="true" overwrite="true">
+                       <fileset dir="${basedir}">
+                               <include name="META-INF/MANIFEST.MF"/>
+                               <include name="plugin.xml"/>
+                               <include name="fragment.xml"/>
+                       </fileset>
+               </copy>
+               <eclipse.versionReplacer path="${build.result.folder}" version="1.3.20.201103241558"/>
+               <antcall target="apitools.generation">
+                       <param name="target.folder" value="${build.result.folder}"/>
+                       <param name="projectLocation" value="${basedir}"/>
+                       <param name="binary.folders" value="${build.result.folder}/@dot"/>
+                       <param name="projectName" value="${bundleId}_${bundleVersion}"/>
+               </antcall>
+               <eclipse.gatherBundle 
+                  metadataRepository="${p2.build.repo}"
+                  artifactRepository="${p2.build.repo}"
+                  buildResultFolder="${build.result.folder}"
+                  unpack="false"
+                  baseDirectory="${basedir}"
+               />
+       </target>
+
+       <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.location.map_1.3.20.201103241558"/>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.location.map_1.3.20.201103241558" failonerror="true" overwrite="false">
+                       <fileset dir="${build.result.folder}/@dot">
+                               <include name="**"/>
+                       </fileset>
+               </copy>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.location.map_1.3.20.201103241558" failonerror="true" overwrite="true">
+                       <fileset dir="${basedir}">
+                               <include name="plugin.xml"/>
+                               <include name="META-INF/"/>
+                               <include name="OSGI-INF/l10n/bundle.properties"/>
+                       </fileset>
+               </copy>
+               <eclipse.versionReplacer path="${destination.temp.folder}/com.samsung.linuxplatform.location.map_1.3.20.201103241558" version="1.3.20.201103241558"/>
+               <antcall target="apitools.generation">
+                       <param name="target.folder" value="${destination.temp.folder}/com.samsung.linuxplatform.location.map_1.3.20.201103241558"/>
+                       <param name="projectLocation" value="${basedir}"/>
+                       <param name="binary.folders" value="${build.result.folder}/@dot"/>
+                       <param name="projectName" value="${bundleId}_${bundleVersion}"/>
+               </antcall>
+       </target>
+
+       <target name="build.zips" depends="init">
+       </target>
+
+       <target name="gather.sources" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.location.map_1.3.20.201103241558"/>
+               <copy file="${build.result.folder}/src.zip" todir="${destination.temp.folder}/com.samsung.linuxplatform.location.map_1.3.20.201103241558" failonerror="false" overwrite="false"/>
+               <antcall target="copy.src.includes">
+                       <param name="source.destination.folder" value="${destination.temp.folder}/com.samsung.linuxplatform.location.map_1.3.20.201103241558"/>
+               </antcall>
+       </target>
+
+       <target name="gather.individual.sources" depends="init">
+               <antcall target="copy.src.zip">
+                       <param name="source.destination.folder" value="${destination.temp.folder}"/>
+               </antcall>
+               <antcall target="copy.src.includes">
+                       <param name="source.destination.folder" value="${destination.temp.folder}"/>
+               </antcall>
+       </target>
+
+       <target name="copy.src.includes" depends="init">
+       </target>
+
+       <target name="gather.logs" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.location.map_1.3.20.201103241558"/>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.location.map_1.3.20.201103241558" failonerror="false" overwrite="false">
+                       <fileset dir="${build.result.folder}">
+                               <include name="@dot${logExtension}"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="clean" depends="init" description="Clean the plug-in: com.samsung.linuxplatform.location.map of all the zips, jars and logs created.">
+               <delete dir="${build.result.folder}/@dot"/>
+               <delete file="${build.result.folder}/src.zip"/>
+               <delete file="${plugin.destination}/com.samsung.linuxplatform.location.map_1.3.20.201103241558.jar"/>
+               <delete file="${plugin.destination}/com.samsung.linuxplatform.location.map_1.3.20.201103241558.zip"/>
+               <delete dir="${temp.folder}"/>
+               <delete file="${compilation.problem.marker}" quiet="true"/>
+       </target>
+
+       <target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
+               <eclipse.convertPath fileSystemPath="/home/taeyoung/SLPSDK/git/samsung-sdk-ide/com.samsung.linuxplatform.location.map" property="resourcePath"/>
+               <eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
+       </target>
+
+       <target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: com.samsung.linuxplatform.location.map.">
+               <delete dir="${temp.folder}"/>
+               <mkdir dir="${temp.folder}"/>
+               <antcall target="build.jars"/>
+               <antcall target="build.sources"/>
+               <antcall target="gather.bin.parts">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <antcall target="gather.sources">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <delete>
+                       <fileset dir="${temp.folder}">
+                               <include name="**/*.bin${logExtension}"/>
+                       </fileset>
+               </delete>
+               <zip destfile="${plugin.destination}/com.samsung.linuxplatform.location.map_1.3.20.201103241558.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
+               <delete dir="${temp.folder}"/>
+       </target>
+
+       <target name="apitools.generation" if="generateAPIDescription">
+               <apitooling.apigeneration  projectName="${projectName}" project="${projectLocation}" binary="${binary.folders}" target="${target.folder}"               />
+       </target>
+
+</project>
diff --git a/com.samsung.linuxplatform.location.map/html/googleMap.html b/com.samsung.linuxplatform.location.map/html/googleMap.html
new file mode 100644 (file)
index 0000000..f15dcd6
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html><head><meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><meta http-equiv="content-type" content="text/html; charset=UTF-8"/><style type="text/css">html { height: 100% }body { height: 100%; margin: 0px; padding: 0px }#map_canvas { height: 100% }</style><script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script><script type="text/javascript">var map;var markersArray = [];function initialize() {var latlng = new google.maps.LatLng(37.259, 127.055);var myOptions = {zoom: 16,center: latlng,mapTypeId: google.maps.MapTypeId.ROADMAP};map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);google.maps.event.addListener(map, 'click', function(event) {placeMarker(event.latLng);});}function placeMarker(location) {var clickedLocation = new google.maps.LatLng(location);var marker = new google.maps.Marker({position: location,map: map});markersArray.push(marker);}function deleteMarkers() {if (markersArray) {for (i in markersArray) {markersArray[i].setMap(null);}markersArray.length = 0;}}</script></head><body onload="initialize()"><div id="map_canvas" style="width:100%; height:100%"></div></body></html>
diff --git a/com.samsung.linuxplatform.location.map/javaCompiler...args b/com.samsung.linuxplatform.location.map/javaCompiler...args
new file mode 100644 (file)
index 0000000..974be5d
--- /dev/null
@@ -0,0 +1,100 @@
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui_3.5.2.M20100120-0800.jar[~org/eclipse/ui/internal/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20090525.jar[~org/eclipse/core/internal/preferences/legacy/*:~org/eclipse/core/internal/runtime/*:+org/eclipse/core/runtime/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.osgi_3.5.2.R35x_v20100126.jar[+org/eclipse/osgi/event/*:+org/eclipse/osgi/framework/console/*:+org/eclipse/osgi/framework/eventmgr/*:+org/eclipse/osgi/framework/log/*:+org/eclipse/osgi/launch/*:+org/eclipse/osgi/service/datalocation/*:+org/eclipse/osgi/service/debug/*:+org/eclipse/osgi/service/environment/*:+org/eclipse/osgi/service/localization/*:+org/eclipse/osgi/service/pluginconversion/*:+org/eclipse/osgi/service/resolver/*:+org/eclipse/osgi/service/runnable/*:+org/eclipse/osgi/service/security/*:+org/eclipse/osgi/service/urlconversion/*:+org/eclipse/osgi/signedcontent/*:+org/eclipse/osgi/storagemanager/*:+org/eclipse/osgi/util/*:+org/osgi/framework/*:+org/osgi/framework/launch/*:+org/osgi/framework/hooks/service/*:+org/osgi/service/condpermadmin/*:~org/osgi/service/framework/*:+org/osgi/service/packageadmin/*:+org/osgi/service/permissionadmin/*:+org/osgi/service/startlevel/*:+org/osgi/service/url/*:+org/osgi/util/tracker/*:~org/eclipse/core/runtime/adaptor/*:~org/eclipse/core/runtime/internal/adaptor/*:~org/eclipse/core/runtime/internal/stats/*:~org/eclipse/osgi/baseadaptor/*:~org/eclipse/osgi/baseadaptor/bundlefile/*:~org/eclipse/osgi/baseadaptor/hooks/*:~org/eclipse/osgi/baseadaptor/loader/*:~org/eclipse/osgi/framework/adaptor/*:~org/eclipse/osgi/framework/debug/*:~org/eclipse/osgi/framework/internal/core/*:~org/eclipse/osgi/framework/internal/protocol/*:~org/eclipse/osgi/framework/internal/protocol/bundleentry/*:~org/eclipse/osgi/framework/internal/protocol/bundleresource/*:~org/eclipse/osgi/framework/internal/protocol/reference/*:~org/eclipse/osgi/framework/internal/reliablefile/*:~org/eclipse/osgi/framework/util/*:~org/eclipse/osgi/internal/baseadaptor/*:~org/eclipse/osgi/internal/composite/*:~org/eclipse/osgi/internal/loader/*:~org/eclipse/osgi/internal/loader/buddy/*:~org/eclipse/osgi/internal/module/*:~org/eclipse/osgi/internal/profile/*:~org/eclipse/osgi/internal/resolver/*:~org/eclipse/osgi/internal/serviceregistry/*:~org/eclipse/osgi/internal/permadmin/*:~org/eclipse/osgi/internal/provisional/service/security/*:~org/eclipse/osgi/internal/provisional/verifier/*:~org/eclipse/osgi/internal/service/security/*:~org/eclipse/osgi/internal/signedcontent/*:~org/eclipse/osgi/service/internal/composite/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar[~org/eclipse/core/internal/boot/*:~org/eclipse/core/internal/runtime/*:+org/eclipse/core/runtime/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar[~org/eclipse/core/internal/jobs/*:+org/eclipse/core/runtime/jobs/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800/runtime_registry_compatibility.jar[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar[~org/eclipse/core/internal/preferences/*:~org/eclipse/core/internal/preferences/exchange/*:+org/eclipse/core/runtime/preferences/*:+org/osgi/service/prefs/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar[~org/eclipse/core/internal/content/*:+org/eclipse/core/runtime/content/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.100.v20090413.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.app_1.2.1.R35x_v20091203.jar[+org/eclipse/equinox/app/*:~org/eclipse/equinox/internal/app/*:+org/osgi/service/application/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.osgi.services_3.2.0.v20090520-1800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/javax.servlet_2.5.0.v200806031605.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.swt_3.5.2.v3557f.jar[+org/eclipse/swt/*:+org/eclipse/swt/accessibility/*:+org/eclipse/swt/awt/*:+org/eclipse/swt/browser/*:+org/eclipse/swt/custom/*:+org/eclipse/swt/dnd/*:+org/eclipse/swt/events/*:+org/eclipse/swt/graphics/*:+org/eclipse/swt/layout/*:+org/eclipse/swt/opengl/*:+org/eclipse/swt/printing/*:+org/eclipse/swt/program/*:+org/eclipse/swt/widgets/*:~org/eclipse/swt/internal/*:~org/eclipse/swt/internal/image/*:~org/eclipse/swt/internal/theme/*:~org/eclipse/swt/internal/accessibility/gtk/*:~org/eclipse/swt/internal/cairo/*:~org/eclipse/swt/internal/cde/*:~org/eclipse/swt/internal/gnome/*:~org/eclipse/swt/internal/gtk/*:~org/eclipse/swt/internal/mozilla/*:~org/eclipse/swt/internal/opengl/glx/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar[+org/eclipse/swt/*:+org/eclipse/swt/accessibility/*:+org/eclipse/swt/awt/*:+org/eclipse/swt/browser/*:+org/eclipse/swt/custom/*:+org/eclipse/swt/dnd/*:+org/eclipse/swt/events/*:+org/eclipse/swt/graphics/*:+org/eclipse/swt/layout/*:+org/eclipse/swt/opengl/*:+org/eclipse/swt/printing/*:+org/eclipse/swt/program/*:+org/eclipse/swt/widgets/*:~org/eclipse/swt/internal/*:~org/eclipse/swt/internal/image/*:~org/eclipse/swt/internal/theme/*:~org/eclipse/swt/internal/accessibility/gtk/*:~org/eclipse/swt/internal/cairo/*:~org/eclipse/swt/internal/cde/*:~org/eclipse/swt/internal/gnome/*:~org/eclipse/swt/internal/gtk/*:~org/eclipse/swt/internal/mozilla/*:~org/eclipse/swt/internal/opengl/glx/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface_3.5.2.M20100120-0800.jar[+org/eclipse/jface/*:+org/eclipse/jface/action/*:+org/eclipse/jface/action/images/*:+org/eclipse/jface/bindings/*:+org/eclipse/jface/bindings/keys/*:+org/eclipse/jface/bindings/keys/formatting/*:+org/eclipse/jface/commands/*:+org/eclipse/jface/contexts/*:+org/eclipse/jface/dialogs/*:+org/eclipse/jface/dialogs/images/*:+org/eclipse/jface/fieldassist/*:+org/eclipse/jface/fieldassist/images/*:+org/eclipse/jface/images/*:~org/eclipse/jface/internal/*:~org/eclipse/jface/internal/provisional/action/*:+org/eclipse/jface/layout/*:+org/eclipse/jface/menus/*:+org/eclipse/jface/operation/*:+org/eclipse/jface/preference/*:+org/eclipse/jface/preference/images/*:+org/eclipse/jface/resource/*:+org/eclipse/jface/util/*:+org/eclipse/jface/viewers/*:+org/eclipse/jface/viewers/deferred/*:+org/eclipse/jface/window/*:+org/eclipse/jface/wizard/*:+org/eclipse/jface/wizard/images/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.commands_3.5.0.I20090525-2000.jar[+org/eclipse/core/commands/*:+org/eclipse/core/commands/common/*:+org/eclipse/core/commands/contexts/*:+org/eclipse/core/commands/operations/*:+org/eclipse/core/commands/util/*:~org/eclipse/core/internal/commands/operations/*:~org/eclipse/core/internal/commands/util/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench_3.5.2.M20100113-0800.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/compatibility.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/e4-workbench.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/com.ibm.icu_4.0.1.v20090822.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.help_3.4.1.v20090805_35x.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.expressions_3.4.101.R35x_v20100209.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface.databinding_1.3.1.M20090826-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding.observable_1.2.0.M20090902-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding.property_1.2.0.M20090819-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding_1.2.0.M20090819-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.resources.compatibility_3.4.1.R35x_v20100113-0530.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.core.resources.nl_ko/org.eclipse.core.resources.nl_ko_3.5.0.v20100814074441.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.core.resources.nl_ko[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ant.core_3.2.101.v20091110_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.variables_3.2.200.v20090521.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filesystem_1.2.1.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filesystem.linux.x86_1.3.0.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.net_1.2.1.r35x_20090812-1200.jar[~org/eclipse/core/internal/net/*:+org/eclipse/core/net/proxy/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.net.linux.x86_1.1.0.I20081021.jar[~org/eclipse/core/internal/net/*:+org/eclipse/core/net/proxy/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.security_1.0.100.v20090520-1800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.forms_3.4.1.v20090714_35x.jar[+org/eclipse/ui/forms/*:+org/eclipse/ui/forms/editor/*:+org/eclipse/ui/forms/events/*:+org/eclipse/ui/forms/widgets/*:~org/eclipse/ui/internal/forms/*:~org/eclipse/ui/internal/forms/widgets/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common/bin/[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common_1.3.20.201103241558/bin/[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common/@dot[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/bin[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/bin[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/e4-ide.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/e4-ide.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/@dot[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/@dot[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.views_3.4.1.M20090826-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface.text_3.5.2.r352_v20091118-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.text_3.5.0.v20090513-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.engine_1.0.102.R35x_v20091117.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.core_1.0.101.R35x_v20090819.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.metadata_1.0.101.R35x_v20100112.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.metadata.repository_1.0.101.R35x_v20090812.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.repository_1.0.1.R35x_v20100105.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.filetransfer_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.ssl_1.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.concurrent_1.0.1.R35x_v20100209.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.identity_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.provider.filetransfer_3.0.1.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.artifact.repository_1.0.101.R35x_v20090721.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.100.v20090520-1905.jar[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector/bin/[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector_1.3.20.201103241558/bin/[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector/@dot[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection/bin[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection_1.3.20.201103241558/bin[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection/@dot[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.linux/bin/[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.linux/@dot[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.windows/bin/[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.windows/@dot[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.console_3.4.0.v20090513.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.texteditor_3.5.1.r352_v20100105.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.compare.core_3.5.0.I20090430-0408.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.debug.ui_3.5.2.v20091028_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.debug.core_3.5.1.v20091103_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.editors_3.5.0.v20090527-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filebuffers_3.5.0.v20090526-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.ui_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.services_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.core_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.efs_2.1.100.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.files.core_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.processes.core_3.1.0.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.shells.core_3.1.0.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.terminals.core_1.0.1.v200908051630.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/com.jcraft.jsch_0.1.41.v200903070017.jar[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.location.core/bin/[+com/samsung/linuxplatform/location/core/injector/*:+com/samsung/linuxplatform/location/core/model/*:+com/samsung/linuxplatform/location/core/protocol/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.location.core_1.3.20.201103241558/bin/[+com/samsung/linuxplatform/location/core/injector/*:+com/samsung/linuxplatform/location/core/model/*:+com/samsung/linuxplatform/location/core/protocol/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.location.core/@dot[+com/samsung/linuxplatform/location/core/injector/*:+com/samsung/linuxplatform/location/core/model/*:+com/samsung/linuxplatform/location/core/protocol/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.location.core_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/location/core/injector/*:+com/samsung/linuxplatform/location/core/model/*:+com/samsung/linuxplatform/location/core/protocol/*:?**/*]
diff --git a/com.samsung.linuxplatform.location.map/plugin.xml b/com.samsung.linuxplatform.location.map/plugin.xml
new file mode 100644 (file)
index 0000000..4860aeb
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<?eclipse version="3.2"?>\r
+<plugin>\r
+   <extension\r
+         point="com.samsung.linuxplatform.injector.injectorItemProvider">\r
+      <itemType\r
+            category="Location"\r
+            class="com.samsung.linuxplatform.location.map.Map"\r
+            id="com.samsung.linuxplatform.location.map"\r
+            name="%Map">\r
+      </itemType>\r
+   </extension>\r
+</plugin>\r
diff --git a/com.samsung.linuxplatform.location.map/src/com/samsung/linuxplatform/location/map/Map.java b/com.samsung.linuxplatform.location.map/src/com/samsung/linuxplatform/location/map/Map.java
new file mode 100644 (file)
index 0000000..0d31085
--- /dev/null
@@ -0,0 +1,88 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.location.map;
+
+import java.util.ArrayList;
+
+import org.eclipse.core.internal.net.ProxyManager;
+import org.eclipse.core.net.proxy.IProxyData;
+import org.eclipse.core.net.proxy.IProxyService;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.Section;
+
+import com.samsung.freshide.common.model.DefaultTableModel;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+//import com.samsung.linuxplatform.location.core.injector.DebugLog;
+import com.samsung.linuxplatform.location.core.model.GeoLocationVO;
+import com.samsung.linuxplatform.location.map.page.MapImage;
+
+@SuppressWarnings("restriction")
+public class Map extends AbstractInjectorItem {
+       private static String LABEL = Messages.Map_0;
+       
+       private DefaultTableModel model = new DefaultTableModel(new GeoLocationVO());
+       private ArrayList<TableViewer> viewerList = new ArrayList<TableViewer>();
+
+       @Override
+       protected void addPages() {
+               init();
+               addPage(new MapImage(this, Messages.Map_1, model));
+       }
+       
+       private void init() {   
+               // Get Preferences - General - Network Connections
+               IProxyService proxyManager = ProxyManager.getProxyManager();
+
+               if (proxyManager.isProxiesEnabled()) {
+                       IProxyData proxyData = proxyManager.getProxyData(IProxyData.HTTP_PROXY_TYPE);
+                       String host = proxyData.getHost();
+                       int port = proxyData.getPort();
+
+                       if (host == null) { // no user-defined proxy
+                               if (proxyManager.hasSystemProxies() && proxyManager.isSystemProxiesEnabled()) {
+                                       // get system-wide proxy
+                                       host = System.getProperty("http.proxyHost"); //$NON-NLS-1$
+                                       String portStr = System.getProperty("http.proxyPort"); //$NON-NLS-1$
+                                       port = ((portStr != null) ? Integer.parseInt(portStr) : -1);
+                               }
+                       }
+
+                       if (host != null) {
+                               System.setProperty("network.proxy_host", host); //$NON-NLS-1$
+                               if (port != -1) {
+                                       System.setProperty("network.proxy_port", "" + port); //$NON-NLS-1$ //$NON-NLS-2$
+                               }
+                       }
+               }
+
+//             DebugLog.log("[Activator] proxy initiate...." + System.getProperty("network.proxy_host") + " : " + //$NON-NLS-3$
+//                             System.getProperty("network.proxy_port")); //$NON-NLS-1$
+       }
+       
+       public void addViewer(TableViewer viewer){
+               viewerList.add(viewer);
+       }
+
+       public void refreshViewers() {
+               for (int i = 0; i < viewerList.size(); i++){
+                       viewerList.get(i).refresh();
+               }
+       }
+       
+       public void setSiblingsEnabled(boolean enabled) {
+               ArrayList<Composite> list = getCategoryItems("Location"); //$NON-NLS-1$
+               for (int i = 0; i < list.size(); i++) {
+                       Section parent = (Section) list.get(i).getParent();
+                       if (!parent.getText().equals(LABEL)) {
+                               if(!enabled) {
+                                       parent.setExpanded(enabled);
+                               }
+                               parent.setEnabled(enabled);     
+                       }
+               }
+       }
+}
diff --git a/com.samsung.linuxplatform.location.map/src/com/samsung/linuxplatform/location/map/Messages.java b/com.samsung.linuxplatform.location.map/src/com/samsung/linuxplatform/location/map/Messages.java
new file mode 100644 (file)
index 0000000..308a9ae
--- /dev/null
@@ -0,0 +1,16 @@
+package com.samsung.linuxplatform.location.map;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+       private static final String BUNDLE_NAME = "com.samsung.linuxplatform.location.map.messages"; //$NON-NLS-1$
+       public static String Map_0;
+       public static String Map_1;
+       static {
+               // initialize resource bundle
+               NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+       }
+
+       private Messages() {
+       }
+}
diff --git a/com.samsung.linuxplatform.location.map/src/com/samsung/linuxplatform/location/map/messages.properties b/com.samsung.linuxplatform.location.map/src/com/samsung/linuxplatform/location/map/messages.properties
new file mode 100644 (file)
index 0000000..ecc07c8
--- /dev/null
@@ -0,0 +1,2 @@
+Map_0=Map
+Map_1=Map Image
diff --git a/com.samsung.linuxplatform.location.map/src/com/samsung/linuxplatform/location/map/page/MapImage.java b/com.samsung.linuxplatform.location.map/src/com/samsung/linuxplatform/location/map/page/MapImage.java
new file mode 100644 (file)
index 0000000..a4f47f8
--- /dev/null
@@ -0,0 +1,347 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.location.map.page;
+
+import java.io.IOException;
+//import java.util.ArrayList;
+//import java.util.List;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.IJobChangeEvent;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.core.runtime.jobs.JobChangeAdapter;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.SWTException;
+import org.eclipse.swt.browser.Browser;
+import org.eclipse.swt.browser.ProgressEvent;
+import org.eclipse.swt.browser.ProgressListener;
+import org.eclipse.swt.events.MouseAdapter;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+
+import com.samsung.freshide.common.control.TableViewContentProvider;
+import com.samsung.freshide.common.control.TableViewLabelProvider;
+import com.samsung.freshide.common.model.DefaultTableModel;
+import com.samsung.freshide.common.model.ITableVO;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorPage;
+//import com.samsung.linuxplatform.location.core.injector.AbstractLocationInjector;
+import com.samsung.linuxplatform.location.core.injector.DebugLog;
+import com.samsung.linuxplatform.location.core.injector.LocationInjector;
+import com.samsung.linuxplatform.location.core.model.GeoLocationVO;
+import com.samsung.linuxplatform.location.core.protocol.GeoLocation;
+//import com.samsung.linuxplatform.location.core.protocol.AbstractNMEA0183;
+//import com.samsung.linuxplatform.location.core.protocol.NMEA0183_GPGGA;
+//import com.samsung.linuxplatform.location.core.protocol.NMEA0183_GPGSA;
+//import com.samsung.linuxplatform.location.core.protocol.NMEA0183_GPGSV;
+//import com.samsung.linuxplatform.location.core.protocol.NMEA0183_GPRMC;
+import com.samsung.linuxplatform.location.map.Map;
+
+public class MapImage extends AbstractInjectorPage {
+
+       private Browser browser;
+       private String googleMapScript;
+       private TableViewer viewer;
+       private DefaultTableModel model;
+       private Button injectButton;
+       private Button resetButton;
+       private Button cancelButton;
+       
+       private LocationInjector injector;
+
+       public MapImage(AbstractInjectorItem item, String name,
+                       DefaultTableModel model) {
+               super(item, name);
+               this.model = model;
+               this.model.clear();
+       }
+
+       @Override
+       protected void createContents() {
+               createGoogleMapScript();
+               createMapComposite();
+               ((Map) getParent()).addViewer(viewer);
+       }
+
+       @Override
+       protected void registerReceivers() {
+               // TODO Auto-generated method stub
+
+       }
+
+       private void createGoogleMapScript() {
+               this.googleMapScript = "<!DOCTYPE html>" //$NON-NLS-1$
+                               + "<html>" //$NON-NLS-1$
+                               + "<head>" //$NON-NLS-1$
+                               + "<meta name=\"viewport\" content=\"initial-scale=1.0, user-scalable=no\" />" //$NON-NLS-1$
+                               + "<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\"/>" //$NON-NLS-1$
+                               + "<style type=\"text/css\">" //$NON-NLS-1$
+                               + "html { height: 100% }" //$NON-NLS-1$
+                               + "body { height: 100%; margin: 0px; padding: 0px }" //$NON-NLS-1$
+                               + "#map_canvas { height: 100% }" //$NON-NLS-1$
+                               + "</style>" //$NON-NLS-1$
+                               + "<script type=\"text/javascript\" src=\"http://maps.google.com/maps/api/js?sensor=false\"></script>" //$NON-NLS-1$
+                               + "<script type=\"text/javascript\">" //$NON-NLS-1$
+                               + "var map;" //$NON-NLS-1$
+                               + "var markersArray = [];" //$NON-NLS-1$
+                               + "function initialize() {" //$NON-NLS-1$
+                               + "var latlng = new google.maps.LatLng(37.259, 127.055);" //$NON-NLS-1$
+                               + "var myOptions = {" //$NON-NLS-1$
+                               + "zoom: 16," //$NON-NLS-1$
+                               + "center: latlng," //$NON-NLS-1$
+                               + "disableDoubleClickZoom: true," //$NON-NLS-1$
+                               + "keyboardShortcuts: false," //$NON-NLS-1$
+                               + "mapTypeId: google.maps.MapTypeId.ROADMAP" //$NON-NLS-1$
+                               + "};" //$NON-NLS-1$
+                               + "map = new google.maps.Map(document.getElementById(\"map_canvas\"), myOptions);" //$NON-NLS-1$
+                               + "google.maps.event.addListener(map, 'dblclick', function(event) {" //$NON-NLS-1$
+                               + "placeMarker(event.latLng);" //$NON-NLS-1$
+                               + "});" //$NON-NLS-1$
+                               + "}" //$NON-NLS-1$
+                               + "function placeMarker(location) {" //$NON-NLS-1$
+                               + "var clickedLocation = new google.maps.LatLng(location);" //$NON-NLS-1$
+                               + "var marker = new google.maps.Marker({" //$NON-NLS-1$
+                               + "position: location," //$NON-NLS-1$
+                               + "map: map" //$NON-NLS-1$
+                               + "});" //$NON-NLS-1$
+                               + "markersArray.push(marker);" //$NON-NLS-1$
+                               + "}" //$NON-NLS-1$
+                               + "function deleteMarkers() {" //$NON-NLS-1$
+                               + "if (markersArray) {" //$NON-NLS-1$
+                               + "for (i in markersArray) {" //$NON-NLS-1$
+                               + "markersArray[i].setMap(null);" //$NON-NLS-1$
+                               + "}" //$NON-NLS-1$
+                               + "markersArray.length = 0;" //$NON-NLS-1$
+                               + "}" //$NON-NLS-1$
+                               + "}" //$NON-NLS-1$
+                               + "</script>" //$NON-NLS-1$
+                               + "</head>" //$NON-NLS-1$
+                               + "<body onload=\"initialize();\" onunload=\"google.maps.Unload();\">" //$NON-NLS-1$
+                               + "<div id=\"map_canvas\" style=\"width:100%; height:100%\"></div>" //$NON-NLS-1$
+                               + "</body>" + "</html>"; //$NON-NLS-1$ //$NON-NLS-2$
+       }
+
+       private Control createMapComposite() {
+               Composite mainPage = formUtil.createComposite(parent, 1);
+
+               browser = formUtil.createBrowser(mainPage);
+               browser.setJavascriptEnabled(true);
+               browser.addProgressListener(new ProgressListener() {
+
+                       @Override
+                       public void completed(ProgressEvent event) {
+//                             DebugLog.log("[Map] Map Loading: Compelete");
+                       }
+
+                       @Override
+                       public void changed(ProgressEvent event) {
+//                             DebugLog.log("[Map] Map Changed");
+                       }
+               });
+               browser.setText(googleMapScript);
+               browser.addMouseListener(new MouseAdapter() {
+                       @Override
+                       public void mouseDoubleClick(MouseEvent e) {
+                               Job markerJob = new Job("Add a Marker") {
+
+                                       @Override
+                                       protected IStatus run(IProgressMonitor monitor) {
+                                               IWorkbenchWindow window = PlatformUI.getWorkbench()
+                                                               .getActiveWorkbenchWindow();
+                                               if (window == null) {
+                                                       IWorkbenchWindow windows[] = PlatformUI
+                                                                       .getWorkbench().getWorkbenchWindows();
+                                                       window = windows[0];
+                                               }
+
+                                               final Shell shell = window.getShell();
+
+                                               shell.getDisplay().asyncExec(new Runnable() {
+
+                                                       @Override
+                                                       public void run() {
+                                                               try {
+                                                                       int markersCount = ((Double) browser.evaluate("return markersArray.length;")).intValue();
+                                                                       
+                                                                       // Number of markers is not changed
+                                                                       if (model.size() == markersCount) {
+                                                                               return;
+                                                                       // Number of markers is increased properly
+                                                                       } else if (model.size() == markersCount - 1) {
+                                                                               int lastIndex = markersCount - 1;
+                                                                               Double latitude = ((Double) browser.evaluate("return markersArray[" + lastIndex + "].getPosition().lat();")).doubleValue();
+                                                                               Double longitude = ((Double) browser.evaluate("return markersArray[" + lastIndex + "].getPosition().lng();")).doubleValue();
+                                                                               
+                                                                               GeoLocationVO locationVO = new GeoLocationVO();
+                                                                               
+                                                                               GeoLocation location = new GeoLocation(latitude, longitude);
+                                                                               locationVO.setSeq(markersCount);
+                                                                               locationVO.setLocation(location);
+       
+                                                                               model.add(locationVO);
+                                                                               ((Map) getParent()).refreshViewers();
+                                                                       // Number of markers is increased improperly
+                                                                       } else {
+                                                                               model.clear();
+                                                                               
+                                                                               for (int i = 0; i < markersCount; i++) {
+                                                                                       Double latitude = ((Double) browser.evaluate("return markersArray["     + i + "].getPosition().lat();")).doubleValue();
+                                                                                       Double longitude = ((Double) browser.evaluate("return markersArray[" + i+ "].getPosition().lng();")).doubleValue();
+                                                                                       
+                                                                                       GeoLocationVO locationVO = new GeoLocationVO();
+                                                                                       
+                                                                                       GeoLocation location = new GeoLocation(latitude, longitude);
+                                                                                       locationVO.setSeq(i + 1);
+                                                                                       locationVO.setLocation(location);
+                                                                                       
+                                                                                       model.add(locationVO);                                                                          
+                                                                               }
+                                                                               ((Map) getParent()).refreshViewers();
+                                                                       }
+                                                                       injectButton.setEnabled(validate());
+                                                                       resetButton.setEnabled(validate());
+                                                               } catch (SWTException ex) {
+                                                                       return;
+                                                               }
+                                                       }
+                                               });
+
+                                               return Status.OK_STATUS;
+                                       }
+                               };
+
+                               markerJob.schedule(100);
+                       }
+               });
+
+               Composite section = formUtil
+                               .createSection(mainPage, Messages.MapImage_62);
+
+               String[] columnNames = { Messages.MapImage_0, Messages.MapImage_1, Messages.MapImage_2 };
+
+               viewer = formUtil.createTableViewer(section, columnNames, 1, SWT.BORDER | SWT.H_SCROLL
+                               | SWT.V_SCROLL);
+               viewer.setContentProvider(new TableViewContentProvider());
+               viewer.setLabelProvider(new TableViewLabelProvider(viewer));
+               viewer.setInput(model);
+
+               Composite buttonComposite = formUtil.createComposite(mainPage, 3);
+               
+               injectButton = formUtil.createButton(buttonComposite, Messages.MapImage_66,
+                               SWT.PUSH);
+               injectButton.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+//                             final List<AbstractNMEA0183> NMEASentences = new ArrayList<AbstractNMEA0183>();
+                               final ITableVO[] dataList = (ITableVO[]) model.getDatas();
+                               
+//                             for (int i = 0; i < dataList.length; i++) {
+//                                     GeoLocationVO locationVO = (GeoLocationVO) dataList[i];
+//                                     NMEASentences.add(new NMEA0183_GPGSV(1));
+//                                     NMEASentences.add(new NMEA0183_GPGSV(2));
+//                                     NMEASentences.add(new NMEA0183_GPGSV(3));
+//                                     NMEASentences.add(new NMEA0183_GPGGA(locationVO.getLocation().getLatitude(), locationVO.getLocation().getLongitude()));
+//                                     NMEASentences.add(new NMEA0183_GPRMC(locationVO.getLocation().getLatitude(), locationVO.getLocation().getLongitude()));
+//                                     NMEASentences.add(new NMEA0183_GPGSA());
+//                             }
+                               
+                               Job injectJob = new Job("Inject Job") {
+                                       
+                                       @Override
+                                       protected IStatus run(IProgressMonitor monitor) {
+                                               try {
+                                                       injector = new LocationInjector();
+                                                       injector.inject(dataList, monitor);
+
+                                                       if(monitor.isCanceled()) {
+                                                               return Status.CANCEL_STATUS;
+                                                       }
+                                               } catch (IOException e) {
+                                                       return Status.CANCEL_STATUS;
+                                               }
+                                               return Status.OK_STATUS;
+                                       }
+                               };
+                               
+                               injectJob.addJobChangeListener(new JobChangeAdapter() {
+
+                                       @Override
+                                       public void scheduled(IJobChangeEvent event) {
+                                               injectButton.setEnabled(false);
+                                               browser.setEnabled(false);
+                                               cancelButton.setEnabled(true);
+                                               resetButton.setEnabled(false);
+                                               ((Map) getParent()).setSiblingsEnabled(false);
+                                       }
+                               });
+                               
+                               injectJob.schedule();
+                       }                       
+               });
+               injectButton.setEnabled(validate());
+               
+               
+               resetButton = formUtil.createButton(buttonComposite, Messages.MapImage_68, SWT.PUSH);
+               resetButton.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent event) {
+                               if (browser != null) {
+                                       try {
+                                               // Reload Google Map
+                                               browser.refresh();
+                                               boolean bResult = browser.setText(googleMapScript);
+
+                                               model.clear();
+                                               ((Map) getParent()).refreshViewers();
+                                               injectButton.setEnabled(validate());
+                                               resetButton.setEnabled(validate());
+                                               DebugLog.log("[Map] Browser reload : "
+                                                               + (bResult ? "Success" : "Fail"));
+                                       } catch (SWTException e) {
+                                               e.printStackTrace();
+                                       }
+                               } else {
+                                       DebugLog.log("Browser not created.");
+                               }
+                       }
+               });
+               resetButton.setEnabled(validate());
+               
+               cancelButton = formUtil.createButton(buttonComposite, Messages.MapImage_73, SWT.PUSH);
+               cancelButton.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               injector.setCancel(true);
+                               injectButton.setEnabled(true);
+                               browser.setEnabled(true);
+                               resetButton.setEnabled(true);
+                               cancelButton.setEnabled(false);
+                               ((Map) getParent()).setSiblingsEnabled(true);
+                       }
+               });
+               cancelButton.setEnabled(false);
+
+               return mainPage;
+       }
+       
+       private boolean validate() {
+               if (model.size() <= 0) {
+                       return false;
+               }
+
+               return true;
+       }
+}
diff --git a/com.samsung.linuxplatform.location.map/src/com/samsung/linuxplatform/location/map/page/Messages.java b/com.samsung.linuxplatform.location.map/src/com/samsung/linuxplatform/location/map/page/Messages.java
new file mode 100644 (file)
index 0000000..f7aabf1
--- /dev/null
@@ -0,0 +1,21 @@
+package com.samsung.linuxplatform.location.map.page;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+       private static final String BUNDLE_NAME = "com.samsung.linuxplatform.location.map.page.messages"; //$NON-NLS-1$
+       public static String MapImage_0;
+       public static String MapImage_1;
+       public static String MapImage_2;
+       public static String MapImage_62;
+       public static String MapImage_66;
+       public static String MapImage_68;
+       public static String MapImage_73;
+       static {
+               // initialize resource bundle
+               NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+       }
+
+       private Messages() {
+       }
+}
diff --git a/com.samsung.linuxplatform.location.map/src/com/samsung/linuxplatform/location/map/page/messages.properties b/com.samsung.linuxplatform.location.map/src/com/samsung/linuxplatform/location/map/page/messages.properties
new file mode 100644 (file)
index 0000000..6119859
--- /dev/null
@@ -0,0 +1,7 @@
+MapImage_0=Seq
+MapImage_1=Latitude
+MapImage_2=Longitude
+MapImage_62=Location Markers
+MapImage_66=Inject Markers
+MapImage_68=Reset Markers
+MapImage_73=Cancel
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/.classpath b/com.samsung.linuxplatform.sensor.accelerometer/.classpath
new file mode 100644 (file)
index 0000000..ad32c83
--- /dev/null
@@ -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/JavaSE-1.6"/>
+       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+       <classpathentry kind="src" path="src"/>
+       <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/.project b/com.samsung.linuxplatform.sensor.accelerometer/.project
new file mode 100644 (file)
index 0000000..a661b7e
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>com.samsung.linuxplatform.sensor.accelerometer</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/com.samsung.linuxplatform.sensor.accelerometer/.settings/org.eclipse.core.runtime.prefs b/com.samsung.linuxplatform.sensor.accelerometer/.settings/org.eclipse.core.runtime.prefs
new file mode 100644 (file)
index 0000000..2124634
--- /dev/null
@@ -0,0 +1,3 @@
+#Tue Dec 14 16:31:30 CET 2010
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/.settings/org.eclipse.jdt.core.prefs b/com.samsung.linuxplatform.sensor.accelerometer/.settings/org.eclipse.jdt.core.prefs
new file mode 100644 (file)
index 0000000..1ab6cd2
--- /dev/null
@@ -0,0 +1,8 @@
+#Thu Dec 02 13:13:49 KST 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/META-INF/MANIFEST.MF b/com.samsung.linuxplatform.sensor.accelerometer/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..b5c8825
--- /dev/null
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: SLP SDK Sensor Accelerometer
+Bundle-SymbolicName: com.samsung.linuxplatform.sensor.accelerometer;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: Samsung Electronics
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.ui;bundle-version="3.5.2",
+ com.samsung.linuxplatform.injector,
+ com.samsung.freshide.connection
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/DebugLog.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/DebugLog.class
new file mode 100644 (file)
index 0000000..c624437
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/DebugLog.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/Sensor.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/Sensor.class
new file mode 100644 (file)
index 0000000..fe85a5e
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/Sensor.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$1.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$1.class
new file mode 100644 (file)
index 0000000..f542275
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$1.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$10.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$10.class
new file mode 100644 (file)
index 0000000..540c1c0
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$10.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$11.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$11.class
new file mode 100644 (file)
index 0000000..282d7de
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$11.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$12.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$12.class
new file mode 100644 (file)
index 0000000..5f94ca5
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$12.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$13.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$13.class
new file mode 100644 (file)
index 0000000..7fa73e3
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$13.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$14.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$14.class
new file mode 100644 (file)
index 0000000..12546bc
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$14.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$15.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$15.class
new file mode 100644 (file)
index 0000000..b615819
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$15.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$16.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$16.class
new file mode 100644 (file)
index 0000000..e812450
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$16.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$17.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$17.class
new file mode 100644 (file)
index 0000000..ad80776
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$17.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$18.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$18.class
new file mode 100644 (file)
index 0000000..bf2082f
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$18.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$19.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$19.class
new file mode 100644 (file)
index 0000000..443e451
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$19.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$2.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$2.class
new file mode 100644 (file)
index 0000000..bd014a8
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$2.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$20.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$20.class
new file mode 100644 (file)
index 0000000..c9bf26c
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$20.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$21.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$21.class
new file mode 100644 (file)
index 0000000..e972975
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$21.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$22.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$22.class
new file mode 100644 (file)
index 0000000..32c96c3
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$22.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$23.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$23.class
new file mode 100644 (file)
index 0000000..7306d65
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$23.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$3.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$3.class
new file mode 100644 (file)
index 0000000..fcedc14
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$3.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$4$1.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$4$1.class
new file mode 100644 (file)
index 0000000..75fa44f
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$4$1.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$4.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$4.class
new file mode 100644 (file)
index 0000000..797ebf5
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$4.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$5.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$5.class
new file mode 100644 (file)
index 0000000..ec6093f
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$5.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$6.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$6.class
new file mode 100644 (file)
index 0000000..b05ed2a
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$6.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$7.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$7.class
new file mode 100644 (file)
index 0000000..926a65c
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$7.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$8.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$8.class
new file mode 100644 (file)
index 0000000..3d616cd
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$8.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$9.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$9.class
new file mode 100644 (file)
index 0000000..82f9441
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$9.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$Mode.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$Mode.class
new file mode 100644 (file)
index 0000000..d7be57c
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer$Mode.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer.class
new file mode 100644 (file)
index 0000000..9e1e05c
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$1.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$1.class
new file mode 100644 (file)
index 0000000..4e28376
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$1.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$2.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$2.class
new file mode 100644 (file)
index 0000000..2274179
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$2.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$3.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$3.class
new file mode 100644 (file)
index 0000000..64aa9a1
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$3.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$4.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$4.class
new file mode 100644 (file)
index 0000000..759fdde
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$4.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$5.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$5.class
new file mode 100644 (file)
index 0000000..bc65f01
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel$5.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel.class
new file mode 100644 (file)
index 0000000..ef9566d
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Vector.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Vector.class
new file mode 100644 (file)
index 0000000..df329c2
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/Vector.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/MobilePanel$1.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/MobilePanel$1.class
new file mode 100644 (file)
index 0000000..ae5568e
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/MobilePanel$1.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/MobilePanel$2.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/MobilePanel$2.class
new file mode 100644 (file)
index 0000000..0904a19
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/MobilePanel$2.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/MobilePanel.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/MobilePanel.class
new file mode 100644 (file)
index 0000000..5a9b0ba
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/MobilePanel.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorServer.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorServer.class
new file mode 100644 (file)
index 0000000..990154f
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorServer.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorServerThread.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorServerThread.class
new file mode 100644 (file)
index 0000000..1902ca7
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorServerThread.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorSimulator$1.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorSimulator$1.class
new file mode 100644 (file)
index 0000000..33dca32
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorSimulator$1.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorSimulator.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorSimulator.class
new file mode 100644 (file)
index 0000000..8179d01
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorSimulator.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/TestPage.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/TestPage.class
new file mode 100644 (file)
index 0000000..61ca70a
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/accelerometer/page/test/TestPage.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/magnetic/Magnetic.class b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/magnetic/Magnetic.class
new file mode 100644 (file)
index 0000000..6fd03aa
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.accelerometer/bin/com/samsung/linuxplatform/sensor/magnetic/Magnetic.class differ
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/build.properties b/com.samsung.linuxplatform.sensor.accelerometer/build.properties
new file mode 100644 (file)
index 0000000..e9863e2
--- /dev/null
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/build.xml b/com.samsung.linuxplatform.sensor.accelerometer/build.xml
new file mode 100644 (file)
index 0000000..0edeb26
--- /dev/null
@@ -0,0 +1,353 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="com.samsung.linuxplatform.sensor.accelerometer" default="build.jars" basedir=".">
+
+       <property name="p2.build.repo" value="file:${buildDirectory}/buildRepo"/>
+       <property name="basews" value="${ws}"/>
+       <property name="baseos" value="${os}"/>
+       <property name="basearch" value="${arch}"/>
+       <property name="basenl" value="${nl}"/>
+       <property name="bundleId" value="com.samsung.linuxplatform.sensor.accelerometer"/>
+       <property name="bundleVersion" value="1.0.0.201103241558"/>
+       <property name="p2.publishonerror" value="false"/>
+
+       <!-- Compiler settings. -->
+       <property name="javacFailOnError" value="false"/>
+       <property name="javacDebugInfo" value="on"/>
+       <property name="javacVerbose" value="false"/>
+       <property name="logExtension" value=".log"/>
+       <property name="compilerArg" value=""/>
+       <property name="javacSource" value="1.3"/>
+       <property name="javacTarget" value="1.2"/>
+       <condition property="dir_bootclasspath" value="${java.home}/../Classes">
+               <os family="mac"/>
+       </condition>
+       <property name="dir_bootclasspath" value="${java.home}/lib"/>
+       <path id="path_bootclasspath">
+               <fileset dir="${dir_bootclasspath}">
+                       <include name="*.jar"/>
+               </fileset>
+       </path>
+       <property name="bootclasspath" refid="path_bootclasspath"/>
+       <condition property="bundleBootClasspath" value="${JavaSE-1.6}" >
+               <isset property="JavaSE-1.6"/>
+       </condition>
+       <condition property="bundleJavacSource" value="1.6"     >
+               <isset property="JavaSE-1.6"/>
+       </condition>
+       <condition property="bundleJavacTarget" value="1.6"     >
+               <isset property="JavaSE-1.6"/>
+       </condition>
+       <property name="bundleJavacSource" value="${javacSource}"/>
+       <property name="bundleJavacTarget" value="${javacTarget}"/>
+       <property name="bundleBootClasspath" value="${bootclasspath}"/>
+
+       <target name="init" depends="properties">
+               <condition property="pluginTemp" value="${buildTempFolder}/plugins"             >
+                       <isset property="buildTempFolder"/>
+               </condition>
+               <property name="pluginTemp" value="${basedir}"/>
+               <condition property="build.result.folder" value="${pluginTemp}/com.samsung.linuxplatform.sensor.accelerometer_1.0.0.201103241558"               >
+                       <isset property="buildTempFolder"/>
+               </condition>
+               <property name="build.result.folder" value="${basedir}"/>
+               <property name="temp.folder" value="${basedir}/temp.folder"/>
+               <property name="plugin.destination" value="${basedir}"/>
+               <condition property="p2.publish.parts" value="true"             >
+                       <istrue value="${p2.gathering}"/>
+               </condition>
+               <property name="compilation.problem.marker" value="${build.result.folder}/compilation.problem"/>
+               <condition property="compilation.problem.marker.exists" value="true"            >
+                       <and>
+                       <available file="${compilation.problem.marker}"/>
+                       <isfalse value="p2.publishonerror"/>
+                       </and>
+               </condition>
+       </target>
+
+       <target name="properties" if="eclipse.running">
+               <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+
+       </target>
+
+       <target name="build.update.jar" depends="init" description="Build the plug-in: com.samsung.linuxplatform.sensor.accelerometer for an update site.">
+               <delete dir="${temp.folder}"/>
+               <mkdir dir="${temp.folder}"/>
+               <antcall target="build.jars"/>
+               <antcall target="gather.bin.parts">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <jar destfile="${plugin.destination}/com.samsung.linuxplatform.sensor.accelerometer_1.0.0.201103241558.jar" basedir="${temp.folder}/com.samsung.linuxplatform.sensor.accelerometer_1.0.0.201103241558" filesetmanifest="merge"/>
+               <delete dir="${temp.folder}"/>
+       </target>
+
+       <target name="@dot" depends="init" unless="@dot" description="Create jar: com.samsung.linuxplatform.sensor.accelerometer @dot.">
+               <delete dir="${build.result.folder}/@dot"/>
+               <mkdir dir="${build.result.folder}/@dot"/>
+               <path id="@dot.classpath">
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui_3.5.2.M20100120-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20090525.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.osgi_3.5.2.R35x_v20100126.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800/runtime_registry_compatibility.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.100.v20090413.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.app_1.2.1.R35x_v20091203.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.osgi.services_3.2.0.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/javax.servlet_2.5.0.v200806031605.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.swt_3.5.2.v3557f.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface_3.5.2.M20100120-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.commands_3.5.0.I20090525-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench_3.5.2.M20100113-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/compatibility.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/e4-workbench.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800"/>
+                       <pathelement path="../../../eclipse/plugins/com.ibm.icu_4.0.1.v20090822.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.help_3.4.1.v20090805_35x.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.expressions_3.4.101.R35x_v20100209.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface.databinding_1.3.1.M20090826-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding.observable_1.2.0.M20090902-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding.property_1.2.0.M20090819-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding_1.2.0.M20090819-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.resources.compatibility_3.4.1.R35x_v20100113-0530.jar"/>
+                       <pathelement path="../org.eclipse.core.resources.nl_ko/org.eclipse.core.resources.nl_ko_3.5.0.v20100814074441.jar"/>
+                       <pathelement path="../org.eclipse.core.resources.nl_ko"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ant.core_3.2.101.v20091110_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.variables_3.2.200.v20090521.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filesystem_1.2.1.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filesystem.linux.x86_1.3.0.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../com.samsung.linuxplatform.injector/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector_1.3.20.201103241558/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../org.eclipse.ui.ide/bin"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/bin"/>
+                       <pathelement path="../org.eclipse.ui.ide/e4-ide.jar"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/e4-ide.jar"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide/@dot"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/@dot"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.views_3.4.1.M20090826-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface.text_3.5.2.r352_v20091118-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.text_3.5.0.v20090513-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.forms_3.4.1.v20090714_35x.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.engine_1.0.102.R35x_v20091117.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.core_1.0.101.R35x_v20090819.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.metadata_1.0.101.R35x_v20100112.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.metadata.repository_1.0.101.R35x_v20090812.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.repository_1.0.1.R35x_v20100105.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.security_1.0.100.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.filetransfer_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.ssl_1.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.concurrent_1.0.1.R35x_v20100209.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.identity_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.provider.filetransfer_3.0.1.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.net_1.2.1.r35x_20090812-1200.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.net.linux.x86_1.1.0.I20081021.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.artifact.repository_1.0.101.R35x_v20090721.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.100.v20090520-1905.jar"/>
+                       <pathelement path="../com.samsung.linuxplatform.common/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common_1.3.20.201103241558/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection/bin"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection_1.3.20.201103241558/bin"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.linux/bin/"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.linux/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.windows/bin/"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.windows/@dot"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.console_3.4.0.v20090513.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.texteditor_3.5.1.r352_v20100105.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.compare.core_3.5.0.I20090430-0408.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.debug.ui_3.5.2.v20091028_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.debug.core_3.5.1.v20091103_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.editors_3.5.0.v20090527-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filebuffers_3.5.0.v20090526-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.ui_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.services_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.core_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.efs_2.1.100.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.files.core_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.processes.core_3.1.0.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.shells.core_3.1.0.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.terminals.core_1.0.1.v200908051630.jar"/>
+                       <pathelement path="../../../eclipse/plugins/com.jcraft.jsch_0.1.41.v200903070017.jar"/>
+               </path>
+               <!-- compile the source code -->
+               <javac destdir="${build.result.folder}/@dot" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bundleBootClasspath}" source="${bundleJavacSource}" target="${bundleJavacTarget}"            >
+                       <compilerarg line="${compilerArg}" compiler="${build.compiler}"/>
+                       <classpath refid="@dot.classpath" />
+                       <src path="src/"                        />
+                       <compilerarg value="@${basedir}/javaCompiler...args" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+                       <compilerarg line="-log '${build.result.folder}/@dot${logExtension}'" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+               </javac>
+               <antcall target="checkCompilationResults"/>
+               <!-- Copy necessary resources -->
+               <copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
+                       <fileset dir="src/">
+                               <exclude name="**/*.java"/>
+                               <exclude name="**/package.htm*"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="src.zip" depends="init" unless="src.zip">
+               <mkdir dir="${build.result.folder}"/>
+               <antcall target="zip.src.zip"/>
+       </target>
+       <target name="zip.src.zip">
+               <zip destfile="${build.result.folder}/src.zip" filesonly="false" whenempty="skip" update="false">
+                       <fileset dir="src/">
+                               <include name="**/*.java"/>
+                       </fileset>
+               </zip>
+       </target>
+       <target name="copy.src.zip">
+               <copy todir="${source.destination.folder}/" failonerror="true" overwrite="true">
+                       <fileset dir="src/">
+                               <include name="**/*.java"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="build.jars" depends="init" description="Compile classes and build nested jars for the plug-in: com.samsung.linuxplatform.sensor.accelerometer.">
+               <delete file="${compilation.problem.marker}" quiet="true"/>
+               <available property="@dot" file="${build.result.folder}/@dot"/>
+               <antcall target="@dot"/>
+       </target>
+
+       <target name="checkCompilationResults" if="compilation.error.occured">
+               <echo file="${compilation.problem.marker}" message="com.samsung.linuxplatform.sensor.accelerometer : compilation.error.occured=${compilation.error.occured}"/>
+       </target>
+
+       <target name="build.sources" depends="init">
+               <available property="src.zip" file="${build.result.folder}/src.zip"/>
+               <antcall target="src.zip"/>
+       </target>
+
+       <target name="publish.bin.parts" depends="init" if="p2.publish.parts" unless="compilation.problem.marker.exists">
+               <mkdir dir="${build.result.folder}/com.samsung.linuxplatform.sensor.accelerometer_1.0.0.201103241558"/>
+               <copy todir="${build.result.folder}" failonerror="true" overwrite="true">
+                       <fileset dir="${basedir}">
+                               <include name="META-INF/MANIFEST.MF"/>
+                               <include name="plugin.xml"/>
+                               <include name="fragment.xml"/>
+                       </fileset>
+               </copy>
+               <eclipse.versionReplacer path="${build.result.folder}" version="1.0.0.201103241558"/>
+               <antcall target="apitools.generation">
+                       <param name="target.folder" value="${build.result.folder}"/>
+                       <param name="projectLocation" value="${basedir}"/>
+                       <param name="binary.folders" value="${build.result.folder}/@dot"/>
+                       <param name="projectName" value="${bundleId}_${bundleVersion}"/>
+               </antcall>
+               <eclipse.gatherBundle 
+                  metadataRepository="${p2.build.repo}"
+                  artifactRepository="${p2.build.repo}"
+                  buildResultFolder="${build.result.folder}"
+                  unpack="false"
+                  baseDirectory="${basedir}"
+               />
+       </target>
+
+       <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.sensor.accelerometer_1.0.0.201103241558"/>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.sensor.accelerometer_1.0.0.201103241558" failonerror="true" overwrite="false">
+                       <fileset dir="${build.result.folder}/@dot">
+                               <include name="**"/>
+                       </fileset>
+               </copy>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.sensor.accelerometer_1.0.0.201103241558" failonerror="true" overwrite="true">
+                       <fileset dir="${basedir}">
+                               <include name="META-INF/"/>
+                               <include name="plugin.xml"/>
+                       </fileset>
+               </copy>
+               <eclipse.versionReplacer path="${destination.temp.folder}/com.samsung.linuxplatform.sensor.accelerometer_1.0.0.201103241558" version="1.0.0.201103241558"/>
+               <antcall target="apitools.generation">
+                       <param name="target.folder" value="${destination.temp.folder}/com.samsung.linuxplatform.sensor.accelerometer_1.0.0.201103241558"/>
+                       <param name="projectLocation" value="${basedir}"/>
+                       <param name="binary.folders" value="${build.result.folder}/@dot"/>
+                       <param name="projectName" value="${bundleId}_${bundleVersion}"/>
+               </antcall>
+       </target>
+
+       <target name="build.zips" depends="init">
+       </target>
+
+       <target name="gather.sources" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.sensor.accelerometer_1.0.0.201103241558"/>
+               <copy file="${build.result.folder}/src.zip" todir="${destination.temp.folder}/com.samsung.linuxplatform.sensor.accelerometer_1.0.0.201103241558" failonerror="false" overwrite="false"/>
+               <antcall target="copy.src.includes">
+                       <param name="source.destination.folder" value="${destination.temp.folder}/com.samsung.linuxplatform.sensor.accelerometer_1.0.0.201103241558"/>
+               </antcall>
+       </target>
+
+       <target name="gather.individual.sources" depends="init">
+               <antcall target="copy.src.zip">
+                       <param name="source.destination.folder" value="${destination.temp.folder}"/>
+               </antcall>
+               <antcall target="copy.src.includes">
+                       <param name="source.destination.folder" value="${destination.temp.folder}"/>
+               </antcall>
+       </target>
+
+       <target name="copy.src.includes" depends="init">
+       </target>
+
+       <target name="gather.logs" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.sensor.accelerometer_1.0.0.201103241558"/>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.sensor.accelerometer_1.0.0.201103241558" failonerror="false" overwrite="false">
+                       <fileset dir="${build.result.folder}">
+                               <include name="@dot${logExtension}"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="clean" depends="init" description="Clean the plug-in: com.samsung.linuxplatform.sensor.accelerometer of all the zips, jars and logs created.">
+               <delete dir="${build.result.folder}/@dot"/>
+               <delete file="${build.result.folder}/src.zip"/>
+               <delete file="${plugin.destination}/com.samsung.linuxplatform.sensor.accelerometer_1.0.0.201103241558.jar"/>
+               <delete file="${plugin.destination}/com.samsung.linuxplatform.sensor.accelerometer_1.0.0.201103241558.zip"/>
+               <delete dir="${temp.folder}"/>
+               <delete file="${compilation.problem.marker}" quiet="true"/>
+       </target>
+
+       <target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
+               <eclipse.convertPath fileSystemPath="/home/taeyoung/SLPSDK/git/samsung-sdk-ide/com.samsung.linuxplatform.sensor.accelerometer" property="resourcePath"/>
+               <eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
+       </target>
+
+       <target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: com.samsung.linuxplatform.sensor.accelerometer.">
+               <delete dir="${temp.folder}"/>
+               <mkdir dir="${temp.folder}"/>
+               <antcall target="build.jars"/>
+               <antcall target="build.sources"/>
+               <antcall target="gather.bin.parts">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <antcall target="gather.sources">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <delete>
+                       <fileset dir="${temp.folder}">
+                               <include name="**/*.bin${logExtension}"/>
+                       </fileset>
+               </delete>
+               <zip destfile="${plugin.destination}/com.samsung.linuxplatform.sensor.accelerometer_1.0.0.201103241558.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
+               <delete dir="${temp.folder}"/>
+       </target>
+
+       <target name="apitools.generation" if="generateAPIDescription">
+               <apitooling.apigeneration  projectName="${projectName}" project="${projectLocation}" binary="${binary.folders}" target="${target.folder}"               />
+       </target>
+
+</project>
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/javaCompiler...args b/com.samsung.linuxplatform.sensor.accelerometer/javaCompiler...args
new file mode 100644 (file)
index 0000000..ca6ce86
--- /dev/null
@@ -0,0 +1,96 @@
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui_3.5.2.M20100120-0800.jar[~org/eclipse/ui/internal/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20090525.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.osgi_3.5.2.R35x_v20100126.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800/runtime_registry_compatibility.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.100.v20090413.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.app_1.2.1.R35x_v20091203.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.osgi.services_3.2.0.v20090520-1800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/javax.servlet_2.5.0.v200806031605.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.swt_3.5.2.v3557f.jar[+org/eclipse/swt/*:+org/eclipse/swt/accessibility/*:+org/eclipse/swt/awt/*:+org/eclipse/swt/browser/*:+org/eclipse/swt/custom/*:+org/eclipse/swt/dnd/*:+org/eclipse/swt/events/*:+org/eclipse/swt/graphics/*:+org/eclipse/swt/layout/*:+org/eclipse/swt/opengl/*:+org/eclipse/swt/printing/*:+org/eclipse/swt/program/*:+org/eclipse/swt/widgets/*:~org/eclipse/swt/internal/*:~org/eclipse/swt/internal/image/*:~org/eclipse/swt/internal/theme/*:~org/eclipse/swt/internal/accessibility/gtk/*:~org/eclipse/swt/internal/cairo/*:~org/eclipse/swt/internal/cde/*:~org/eclipse/swt/internal/gnome/*:~org/eclipse/swt/internal/gtk/*:~org/eclipse/swt/internal/mozilla/*:~org/eclipse/swt/internal/opengl/glx/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar[+org/eclipse/swt/*:+org/eclipse/swt/accessibility/*:+org/eclipse/swt/awt/*:+org/eclipse/swt/browser/*:+org/eclipse/swt/custom/*:+org/eclipse/swt/dnd/*:+org/eclipse/swt/events/*:+org/eclipse/swt/graphics/*:+org/eclipse/swt/layout/*:+org/eclipse/swt/opengl/*:+org/eclipse/swt/printing/*:+org/eclipse/swt/program/*:+org/eclipse/swt/widgets/*:~org/eclipse/swt/internal/*:~org/eclipse/swt/internal/image/*:~org/eclipse/swt/internal/theme/*:~org/eclipse/swt/internal/accessibility/gtk/*:~org/eclipse/swt/internal/cairo/*:~org/eclipse/swt/internal/cde/*:~org/eclipse/swt/internal/gnome/*:~org/eclipse/swt/internal/gtk/*:~org/eclipse/swt/internal/mozilla/*:~org/eclipse/swt/internal/opengl/glx/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface_3.5.2.M20100120-0800.jar[+org/eclipse/jface/*:+org/eclipse/jface/action/*:+org/eclipse/jface/action/images/*:+org/eclipse/jface/bindings/*:+org/eclipse/jface/bindings/keys/*:+org/eclipse/jface/bindings/keys/formatting/*:+org/eclipse/jface/commands/*:+org/eclipse/jface/contexts/*:+org/eclipse/jface/dialogs/*:+org/eclipse/jface/dialogs/images/*:+org/eclipse/jface/fieldassist/*:+org/eclipse/jface/fieldassist/images/*:+org/eclipse/jface/images/*:~org/eclipse/jface/internal/*:~org/eclipse/jface/internal/provisional/action/*:+org/eclipse/jface/layout/*:+org/eclipse/jface/menus/*:+org/eclipse/jface/operation/*:+org/eclipse/jface/preference/*:+org/eclipse/jface/preference/images/*:+org/eclipse/jface/resource/*:+org/eclipse/jface/util/*:+org/eclipse/jface/viewers/*:+org/eclipse/jface/viewers/deferred/*:+org/eclipse/jface/window/*:+org/eclipse/jface/wizard/*:+org/eclipse/jface/wizard/images/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.commands_3.5.0.I20090525-2000.jar[+org/eclipse/core/commands/*:+org/eclipse/core/commands/common/*:+org/eclipse/core/commands/contexts/*:+org/eclipse/core/commands/operations/*:+org/eclipse/core/commands/util/*:~org/eclipse/core/internal/commands/operations/*:~org/eclipse/core/internal/commands/util/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench_3.5.2.M20100113-0800.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/compatibility.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/e4-workbench.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/com.ibm.icu_4.0.1.v20090822.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.help_3.4.1.v20090805_35x.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.expressions_3.4.101.R35x_v20100209.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface.databinding_1.3.1.M20090826-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding.observable_1.2.0.M20090902-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding.property_1.2.0.M20090819-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding_1.2.0.M20090819-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.resources.compatibility_3.4.1.R35x_v20100113-0530.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.core.resources.nl_ko/org.eclipse.core.resources.nl_ko_3.5.0.v20100814074441.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.core.resources.nl_ko[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ant.core_3.2.101.v20091110_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.variables_3.2.200.v20090521.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filesystem_1.2.1.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filesystem.linux.x86_1.3.0.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector/bin/[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector_1.3.20.201103241558/bin/[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector/@dot[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/bin[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/bin[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/e4-ide.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/e4-ide.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/@dot[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/@dot[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.views_3.4.1.M20090826-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface.text_3.5.2.r352_v20091118-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.text_3.5.0.v20090513-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.forms_3.4.1.v20090714_35x.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.engine_1.0.102.R35x_v20091117.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.core_1.0.101.R35x_v20090819.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.metadata_1.0.101.R35x_v20100112.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.metadata.repository_1.0.101.R35x_v20090812.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.repository_1.0.1.R35x_v20100105.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.security_1.0.100.v20090520-1800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.filetransfer_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.ssl_1.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.concurrent_1.0.1.R35x_v20100209.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.identity_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.provider.filetransfer_3.0.1.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.net_1.2.1.r35x_20090812-1200.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.net.linux.x86_1.1.0.I20081021.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.artifact.repository_1.0.101.R35x_v20090721.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.100.v20090520-1905.jar[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common/bin/[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common_1.3.20.201103241558/bin/[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common/@dot[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common_1.3.20.201103241558/@dot[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection/bin[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection_1.3.20.201103241558/bin[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection/@dot[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.linux/bin/[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.linux/@dot[+com/samsung/linuxplatform/connection/*:+com/samsung/linuxplatform/connection/api/*:+com/samsung/linuxplatform/connection/api/listener/*:+com/samsung/linuxplatform/connection/api/session/*:+com/samsung/linuxplatform/connection/console/*:+com/samsung/linuxplatform/connection/controller/*:+com/samsung/linuxplatform/connection/machines/*:+com/samsung/linuxplatform/connection/manager/*:+com/samsung/linuxplatform/connection/platform/*:+com/samsung/linuxplatform/connection/preference/*:+com/samsung/linuxplatform/connection/properties/*:+com/samsung/linuxplatform/connection/propertyTester/*:+com/samsung/linuxplatform/connection/resources/*:+com/samsung/linuxplatform/connection/session/*:+com/samsung/linuxplatform/connection/session/terminal/*:+com/samsung/linuxplatform/connection/sourceProvider/*:+com/samsung/linuxplatform/connection/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.windows/bin/[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.windows/@dot[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.console_3.4.0.v20090513.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.texteditor_3.5.1.r352_v20100105.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.compare.core_3.5.0.I20090430-0408.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.debug.ui_3.5.2.v20091028_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.debug.core_3.5.1.v20091103_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.editors_3.5.0.v20090527-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filebuffers_3.5.0.v20090526-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.ui_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.services_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.core_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.efs_2.1.100.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.files.core_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.processes.core_3.1.0.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.shells.core_3.1.0.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.terminals.core_1.0.1.v200908051630.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/com.jcraft.jsch_0.1.41.v200903070017.jar[?**/*]
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/plugin.xml b/com.samsung.linuxplatform.sensor.accelerometer/plugin.xml
new file mode 100644 (file)
index 0000000..fd57eb7
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="com.samsung.linuxplatform.injector.injectorItemProvider">
+      <itemType
+            category="Sensor"
+            class="com.samsung.linuxplatform.sensor.accelerometer.Sensor"
+            id="com.samsung.linuxplatform.sensor.accelerometer"
+            name="3-Axis Sensors">
+      </itemType>
+   </extension>
+
+</plugin>
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/DebugLog.java b/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/DebugLog.java
new file mode 100644 (file)
index 0000000..a6ae49a
--- /dev/null
@@ -0,0 +1,8 @@
+package com.samsung.linuxplatform.sensor.accelerometer;
+
+public class DebugLog {
+       
+       public static void log(Object msg) {
+               System.out.println("[SENSOR] " + msg);
+       }
+}
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/Sensor.java b/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/Sensor.java
new file mode 100644 (file)
index 0000000..3251543
--- /dev/null
@@ -0,0 +1,12 @@
+package com.samsung.linuxplatform.sensor.accelerometer;
+
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+import com.samsung.linuxplatform.sensor.accelerometer.page.Accelerometer;
+
+public class Sensor extends AbstractInjectorItem {
+
+       @Override
+       protected void addPages() {
+               addPage(new Accelerometer(this, "Accelerometer, Gyroscope, Geomagnetic"));
+       }
+}
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer.java b/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/Accelerometer.java
new file mode 100644 (file)
index 0000000..834ed1d
--- /dev/null
@@ -0,0 +1,618 @@
+package com.samsung.linuxplatform.sensor.accelerometer.page;
+
+import java.awt.Frame;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.text.DecimalFormat;
+
+import javax.swing.Timer;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.awt.SWT_AWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.MouseAdapter;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Slider;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+
+import com.samsung.linuxplatform.injector.protocol.sensor.TestSensorMessage;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorPage;
+import com.samsung.linuxplatform.sensor.magnetic.Magnetic;
+//import com.samsung.linuxplatform.sensor.accelerometer.DebugLog;
+
+public class Accelerometer extends AbstractInjectorPage {
+       Slider yawSlider, pitchSlider, rollSlider;
+       int yawValue, pitchValue, rollValue;
+       double xValue, yValue, zValue;
+       Mode mode;
+       MobilePanel panel;
+       Button checkboxAccelerometer;
+       Button checkboxGyro;
+    Button checkboxGeoMagnetic;
+    private Text dataText;
+    Timer dataOutputTimer;
+    
+    double north;
+    double east;
+    double vertical;
+
+       public Accelerometer(AbstractInjectorItem item, String name) {
+               super(item, name);
+               north = 22874.1;
+               east = 5939.5;
+               vertical = 43180.5;
+       }
+
+       private void init() {
+               yawValue = 0;
+               pitchValue = -90;
+               rollValue = 0;
+       }
+       
+       @Override
+       protected void createContents() {
+               init();
+               Composite mainComposite = formUtil.createComposite(parent, 2);
+               // Create Mobile Composite to draw virtual mobile phone
+               Composite mobileComposite = formUtil.createComposite(mainComposite);
+               
+               GridData gd = new GridData(GridData.FILL, GridData.FILL, false, true);
+               gd.widthHint = 260;
+               mobileComposite.setLayoutData(gd);
+               
+               // Create panel composite to contain JPanel component
+               Composite panelComposite = new Composite(mobileComposite, SWT.EMBEDDED | SWT.BORDER);
+               
+               panel = new MobilePanel(this);
+               Frame frame = SWT_AWT.new_Frame(panelComposite);
+               frame.add(panel);
+               frame.pack();
+               gd = new GridData(GridData.CENTER, GridData.CENTER, false, true);
+               gd.widthHint = 200;
+               gd.heightHint = 200;
+               panelComposite.setLayoutData(gd);
+               
+               // Create composite containing moving type selection radio buttons
+               Composite radioComposite = formUtil.createComposite(mobileComposite, 3);
+               
+               Button button01 = formUtil.createButton(radioComposite, "Yaw/Pitch", SWT.RADIO);
+               button01.setSelection(true);
+               mode = Mode.YAW_PITCH;
+               button01.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               mode = Mode.YAW_PITCH;
+                               super.widgetSelected(e);
+                       }
+               });
+               Button button02 = formUtil.createButton(radioComposite, "Roll/Pitch", SWT.RADIO);
+               button02.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               mode = Mode.ROLL_PITCH;
+                               super.widgetSelected(e);
+                       }
+               });
+               Button button03 = formUtil.createButton(radioComposite, "Move", SWT.RADIO);
+               button03.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               mode = Mode.MOVE;
+                               super.widgetSelected(e);
+                       }
+               });
+               
+               // Create text (data output)
+               
+               dataText = new Text(mobileComposite, SWT.MULTI | SWT.BORDER );
+               gd = new GridData(GridData.FILL, GridData.CENTER, true, false);
+               dataText.setLayoutData(gd);
+               
+               dataOutputTimer = new Timer(100, new ActionListener() {
+            public void actionPerformed(ActionEvent evt) {
+               PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable(){
+                                       @Override
+                                       public void run() {
+                                               DecimalFormat mf = new DecimalFormat("#0.00");
+                                               Magnetic magnetic = Magnetic.getInstance();
+                                               String accelerometerData;
+                                               String magneticData;
+                                               String gyroData;
+                                               if( checkboxAccelerometer.getSelection()){
+                                                       accelerometerData = "accelerometer : " + mf.format(panel.read_accelx) + ", "+ mf.format(panel.read_accely) +
+                                                       ", "+ mf.format(panel.read_accelz);
+                                               }
+                                               else {
+                                                       accelerometerData = "accelerometer : Disable";
+                                               }
+                                               if( checkboxGeoMagnetic.getSelection()) {
+                                                       magneticData = "magnetic filed : " + mf.format(magnetic.getReadCompassX()) +
+                                                       ", " + mf.format(magnetic.getReadCompassY()) + ", " + mf.format(magnetic.getReadCompassZ());
+                                               }
+                                               else {
+                                                       magneticData = "magnetic : Disable";
+                                               }
+                                               if( checkboxGyro.getSelection()) {
+                                                       gyroData = "gyroscope : " + mf.format(panel.gyroPitch) + ", " + mf.format(panel.gyroRoll) + ", " + mf.format(panel.gyroYaw);
+                                               }
+                                               else {
+                                                       gyroData = "gyroscope : Disable";
+                                               }
+                                               dataText.setText(accelerometerData + "\n" + magneticData + "\n" + gyroData);
+                                       }
+                       
+               });
+            }
+        });
+               dataOutputTimer.setCoalesce(true);
+
+               // Create slider composite to add Yaw/Pitch/Roll sliders
+               Composite sliderComposite = formUtil.createComposite(mainComposite, 2);    
+           
+           formUtil.createLabel(sliderComposite, "Pitch");
+           pitchSlider = formUtil.createSlider(sliderComposite);
+           setDefaultSlider(pitchSlider);
+           pitchSlider.setSelection((int) panel.pitchDegree + 180);
+           pitchSlider.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               // TODO : Fix here
+                               pitchValue = pitchSlider.getSelection() - 180;
+                               panel.pitchDegree = pitchValue;
+                               panel.repaint();
+                               
+                               sendMessage(panel.read_accelx, panel.read_accely, panel.read_accelz);
+                               
+                               super.widgetSelected(e);
+                       }
+               });
+           pitchSlider.addMouseListener(new MouseAdapter(){
+                       public void mouseUp(MouseEvent e) {
+                               ((MobilePanel)panel).phone_pos_conv = true;
+                       }
+               });
+
+           formUtil.createLabel(sliderComposite, "Roll");    
+           rollSlider = formUtil.createSlider(sliderComposite);
+           setDefaultSlider(rollSlider);
+           rollSlider.setSelection((int) panel.rollDegree + 180);
+           rollSlider.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               // TODO : Fix here
+                               rollValue = rollSlider.getSelection() - 180;
+                               panel.rollDegree = rollValue;
+                               panel.repaint();
+                               
+                               sendMessage(panel.read_accelx, panel.read_accely, panel.read_accelz);
+                               
+                               super.widgetSelected(e);
+                       }
+               });
+           rollSlider.addMouseListener(new MouseAdapter(){
+                       public void mouseUp(MouseEvent e) {
+                               ((MobilePanel)panel).phone_pos_conv = true;
+                       }
+               });
+
+               formUtil.createLabel(sliderComposite, "Yaw");
+               yawSlider = formUtil.createSlider(sliderComposite);
+               setDefaultSlider(yawSlider);
+               yawSlider.setSelection((int) panel.yawDegree + 180);
+               yawSlider.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               // TODO : Fix here
+                               yawValue = yawSlider.getSelection() - 180;
+                               panel.yawDegree = yawValue;
+                               panel.repaint();
+                               sendMessage(panel.read_accelx, panel.read_accely, panel.read_accelz);
+                               super.widgetSelected(e);
+                       }
+               });
+               yawSlider.addMouseListener(new MouseAdapter(){
+                       public void mouseUp(MouseEvent e) {
+                               ((MobilePanel)panel).phone_pos_conv = true;
+                       }
+               });
+           
+           // Create rotation button
+           Composite rotationComposite = formUtil.createComposite(sliderComposite, 4);
+           gd = new GridData(GridData.FILL, GridData.FILL, true, false);
+           gd.horizontalSpan = 2;
+           rotationComposite.setLayoutData(gd);
+           createRotationButton(rotationComposite);
+           
+           
+           // Create checkbox (Enable sensor)
+           Composite checkboxComposite = formUtil.createComposite(sliderComposite, 2);
+           GridData cbGd = new GridData(GridData.FILL, GridData.FILL, true, false);
+           cbGd.horizontalSpan = 2;
+           checkboxComposite.setLayoutData(cbGd);
+           checkboxAccelerometer = formUtil.createButton(checkboxComposite, "Accelerometer sensor", SWT.CHECK);
+           checkboxGeoMagnetic = formUtil.createButton(checkboxComposite, "Geomagnetic sensor", SWT.CHECK);
+           checkboxGyro = formUtil.createButton(checkboxComposite, "Gyroscope sensor", SWT.CHECK);
+           checkboxAccelerometer.setSelection(true);
+           checkboxGeoMagnetic.setSelection(true);
+           checkboxGyro.setSelection(true);
+           checkboxAccelerometer.addSelectionListener(new SelectionAdapter() {
+               public void widgetSelected(SelectionEvent e) {
+                               panel.accelerometerTimer(checkboxAccelerometer.getSelection());
+                               super.widgetSelected(e);
+                       }
+               
+           });
+           checkboxGeoMagnetic.addSelectionListener(new SelectionAdapter() {
+               public void widgetSelected(SelectionEvent e) {
+                               panel.geomagneticTimer(checkboxGeoMagnetic.getSelection());
+                               super.widgetSelected(e);
+                       }
+           });
+           checkboxGyro.addSelectionListener(new SelectionAdapter() {
+               public void widgetSelected(SelectionEvent e) {
+                               panel.gyroTimer(checkboxGyro.getSelection());
+                               super.widgetSelected(e);
+                       }
+           });
+           
+//             Composite magneticSection = formUtil.createSection(mainComposite, "GeoMagnetic filed");
+//             createMagenticInput(magneticSection);
+//             Composite magneticComposite = formUtil.createComposite(magneticSection, 3);
+//             formUtil.createLabel(magneticComposite, "North component : ");
+//             Text northText = formUtil.createText(magneticComposite, String.valueOf(north));
+//             northText.setTextLimit(10);
+//             formUtil.createLabel(magneticComposite, "nT");
+//             formUtil.createLabel(magneticComposite, "East component : ");
+//             Text eastText = formUtil.createText(magneticComposite, String.valueOf(east));
+//             eastText.setTextLimit(10);
+//             formUtil.createLabel(magneticComposite, "nT");
+//             formUtil.createLabel(magneticComposite, "Vertical component : ");
+//             Text verticalText = formUtil.createText(magneticComposite, String.valueOf(vertical));
+//             verticalText.setTextLimit(10);
+//             formUtil.createLabel(magneticComposite, "nT");
+//             northText.addModifyListener(new ModifyListener(){
+//                     @Override
+//                     public void modifyText(ModifyEvent e) {
+//                             try{
+//                                     north = Double.parseDouble(((Text)e.widget).getText());
+//                             }
+//                             catch (NumberFormatException nfe) {
+//                                     int caret = ((Text)e.widget).getCaretPosition();
+//                                     ((Text)e.widget).setText(String.valueOf(north));
+//                                     ((Text)e.widget).setSelection(caret-1, caret-1);
+//                             }
+//                     }
+//             });
+//             eastText.addModifyListener(new ModifyListener(){
+//                     @Override
+//                     public void modifyText(ModifyEvent e) {
+//                             try{
+//                                     east = Double.parseDouble(((Text)e.widget).getText());
+//                             }
+//                             catch (NumberFormatException nfe) {
+//                                     int caret = ((Text)e.widget).getCaretPosition();
+//                                     ((Text)e.widget).setText(String.valueOf(east));
+//                                     ((Text)e.widget).setSelection(caret-1, caret-1);
+//                                     System.out.println(caret);
+//                             }
+//                     }
+//             });
+//             verticalText.addModifyListener(new ModifyListener(){
+//                     @Override
+//                     public void modifyText(ModifyEvent e) {
+//                             try{
+//                                     vertical = Double.parseDouble(((Text)e.widget).getText());
+//                             }
+//                             catch (NumberFormatException nfe) {
+//                                     int caret = ((Text)e.widget).getCaretPosition();
+//                                     ((Text)e.widget).setText(String.valueOf(vertical));
+//                                     ((Text)e.widget).setSelection(caret-1, caret-1);
+//                             }
+//                     }
+//             });
+       }
+
+       @Override
+       protected void registerReceivers() {
+               // TODO Auto-generated method stub
+
+       }
+       private void createRotationButton( Composite rotationComposite){
+               Button rotation0 = formUtil.createButton(rotationComposite, "roration 0", SWT.PUSH);
+           Button rotation90 = formUtil.createButton(rotationComposite, "roration 90", SWT.PUSH);
+           Button rotation180 = formUtil.createButton(rotationComposite, "roration 180", SWT.PUSH);
+           Button rotation270 = formUtil.createButton(rotationComposite, "roration 270", SWT.PUSH);
+           rotation0.addSelectionListener(new SelectionListener(){
+                       @Override
+                       public void widgetDefaultSelected(SelectionEvent e) {
+                               // TODO Auto-generated method stub
+                               
+                       }
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+//                             rollSlider.setSelection(90+180);
+//                             pitchSlider.setSelection(-90+180);
+//                             yawSlider.setSelection(90+180);
+//                             rollValue = 90;
+//                             pitchValue = -90;
+//                             yawValue = 90;
+//                             panel.rollDegree = rollValue;
+//                             panel.pitchDegree = pitchValue;
+//                             panel.yawDegree = yawValue;
+                               double axisX[] = {1,0,0};
+                               double axisY[] = {0,0,1};
+                               double axisZ[] = {0,-1,0};
+                               panel.setGyroAxisX(axisX);
+                               panel.setGyroAxisY(axisY);
+                               panel.setGyroAxisZ(axisZ);
+                               panel.repaint();
+                       }
+           });
+           rotation90.addSelectionListener(new SelectionListener(){
+                       @Override
+                       public void widgetDefaultSelected(SelectionEvent e) {
+                       }
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+//                             rollSlider.setSelection(90+180);
+//                             pitchSlider.setSelection(-180+180);
+//                             yawSlider.setSelection(90+180);
+//                             rollValue = 90;
+//                             pitchValue = -180;
+//                             yawValue = 90;
+//                             panel.rollDegree = rollValue;
+//                             panel.pitchDegree = pitchValue;
+//                             panel.yawDegree = yawValue;
+                               double axisX[] = {0,0,1};
+                               double axisY[] = {-1,0,0};
+                               double axisZ[] = {0,-1,0};
+                               panel.setGyroAxisX(axisX);
+                               panel.setGyroAxisY(axisY);
+                               panel.setGyroAxisZ(axisZ);
+                               panel.repaint();
+                       }
+           });
+           rotation180.addSelectionListener(new SelectionListener(){
+                       @Override
+                       public void widgetDefaultSelected(SelectionEvent e) {
+                               // TODO Auto-generated method stub
+                               
+                       }
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+//                             rollSlider.setSelection(90+180);
+//                             pitchSlider.setSelection(90+180);
+//                             yawSlider.setSelection(90+180);
+//                             rollValue = 90;
+//                             pitchValue = 90;
+//                             yawValue = 90;
+//                             panel.rollDegree = rollValue;
+//                             panel.pitchDegree = pitchValue;
+//                             panel.yawDegree = yawValue;
+                               double axisX[] = {-1,0,0};
+                               double axisY[] = {0,0,-1};
+                               double axisZ[] = {0,-1,0};
+                               panel.setGyroAxisX(axisX);
+                               panel.setGyroAxisY(axisY);
+                               panel.setGyroAxisZ(axisZ);
+                               panel.repaint();
+                       }
+           });
+           rotation270.addSelectionListener(new SelectionListener(){
+                       @Override
+                       public void widgetDefaultSelected(SelectionEvent e) {
+                               // TODO Auto-generated method stub
+                               
+                       }
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+//                             rollSlider.setSelection(90+180);
+//                             pitchSlider.setSelection(0+180);
+//                             yawSlider.setSelection(90+180);
+//                             rollValue = 90;
+//                             pitchValue = 0;
+//                             yawValue = 90;
+//                             panel.rollDegree = rollValue;
+//                             panel.pitchDegree = pitchValue;
+//                             panel.yawDegree = yawValue;
+                               double axisX[] = {0,0,-1};
+                               double axisY[] = {1,0,0};
+                               double axisZ[] = {0,-1,0};
+                               panel.setGyroAxisX(axisX);
+                               panel.setGyroAxisY(axisY);
+                               panel.setGyroAxisZ(axisZ);
+                               panel.repaint();
+                       }
+           });
+       }
+       
+       private void createMagenticInput( Composite magneticSection){
+               Composite magneticComposite = formUtil.createComposite(magneticSection, 3);
+               formUtil.createLabel(magneticComposite, "North : ");
+               Text northText = formUtil.createText(magneticComposite, String.valueOf(north));
+               northText.setTextLimit(10);
+               formUtil.createLabel(magneticComposite, "nT");
+               formUtil.createLabel(magneticComposite, "East : ");
+               Text eastText = formUtil.createText(magneticComposite, String.valueOf(east));
+               eastText.setTextLimit(10);
+               formUtil.createLabel(magneticComposite, "nT");
+               formUtil.createLabel(magneticComposite, "Vertical : ");
+               Text verticalText = formUtil.createText(magneticComposite, String.valueOf(vertical));
+               verticalText.setTextLimit(10);
+               formUtil.createLabel(magneticComposite, "nT");
+               northText.addModifyListener(new ModifyListener(){
+                       @Override
+                       public void modifyText(ModifyEvent e) {
+                               try{
+                                       north = Double.parseDouble(((Text)e.widget).getText());
+                               }
+                               catch (NumberFormatException nfe) {
+                                       int caret = ((Text)e.widget).getCaretPosition();
+                                       ((Text)e.widget).setText(String.valueOf(north));
+                                       ((Text)e.widget).setSelection(caret-1, caret-1);
+                               }
+                       }
+               });
+               eastText.addModifyListener(new ModifyListener(){
+                       @Override
+                       public void modifyText(ModifyEvent e) {
+                               try{
+                                       east = Double.parseDouble(((Text)e.widget).getText());
+                               }
+                               catch (NumberFormatException nfe) {
+                                       int caret = ((Text)e.widget).getCaretPosition();
+                                       ((Text)e.widget).setText(String.valueOf(east));
+                                       ((Text)e.widget).setSelection(caret-1, caret-1);
+                                       System.out.println(caret);
+                               }
+                       }
+               });
+               verticalText.addModifyListener(new ModifyListener(){
+                       @Override
+                       public void modifyText(ModifyEvent e) {
+                               try{
+                                       vertical = Double.parseDouble(((Text)e.widget).getText());
+                               }
+                               catch (NumberFormatException nfe) {
+                                       int caret = ((Text)e.widget).getCaretPosition();
+                                       ((Text)e.widget).setText(String.valueOf(vertical));
+                                       ((Text)e.widget).setSelection(caret-1, caret-1);
+                               }
+                       }
+               });
+       }
+       
+       private void setDefaultSlider(Slider slider) {
+           slider.setMinimum(0);
+           slider.setMaximum(361);
+           slider.setIncrement(1);
+           slider.setThumb(1);
+       }
+       
+       public int getYawSliderValue() {
+               return yawValue;
+       }
+       
+       public void setYawSliderValue(int value) {
+               yawValue = value;
+               IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+               
+               if (window == null) {
+                       IWorkbenchWindow windows[] = PlatformUI
+                                       .getWorkbench().getWorkbenchWindows();
+                       window = windows[0];
+               }
+               
+               final Shell shell = window.getShell();
+               
+               shell.getDisplay().asyncExec(new Runnable() {
+                       
+                       @Override
+                       public void run() {
+                               yawSlider.setSelection(yawValue + 180);
+                       }
+               });
+       }
+       
+       public int getPitchSliderValue() {
+               return pitchValue;
+       }
+       
+       public void setPitchSliderValue(int value) {
+               pitchValue = value;
+               
+               IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+               
+               if (window == null) {
+                       IWorkbenchWindow windows[] = PlatformUI
+                                       .getWorkbench().getWorkbenchWindows();
+                       window = windows[0];
+               }
+               
+               final Shell shell = window.getShell();
+               
+               shell.getDisplay().asyncExec(new Runnable() {
+                       
+                       @Override
+                       public void run() {
+                               pitchSlider.setSelection(pitchValue + 180);
+                       }
+               });
+       }
+       
+       public int getRollSliderValue() {
+               return rollValue;
+       }
+       
+       public void setRollSliderValue(int value) {
+               rollValue = value;
+               
+               IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+               
+               if (window == null) {
+                       IWorkbenchWindow windows[] = PlatformUI
+                                       .getWorkbench().getWorkbenchWindows();
+                       window = windows[0];
+               }
+               
+               final Shell shell = window.getShell();
+               
+               shell.getDisplay().asyncExec(new Runnable() {
+                       
+                       @Override
+                       public void run() {
+                               rollSlider.setSelection(rollValue + 180);
+                       }
+               });     
+       }
+       
+       public void sendMessage(double x, double y, double z) {
+               TestSensorMessage msg = new TestSensorMessage(x, y, z);
+               
+               try {
+                       sensorSocket.send(msg.getMessage());
+               } catch (Exception e1) {
+                       // TODO Auto-generated catch block
+                       e1.printStackTrace();
+               }
+       }
+       public void sendMessage(String sensorNumber, double x, double y, double z) {
+               TestSensorMessage msg = new TestSensorMessage(x, y, z);
+               
+               try {
+                       sensorSocket.send(sensorNumber + msg.getMessage());
+               } catch (Exception e1) {
+                       // TODO Auto-generated catch block
+                       e1.printStackTrace();
+               }
+       }
+       public void sendMessage(String sensorNumber, double x, double y, double z, double a, double b, double c, double d) {
+               TestSensorMessage msg = new TestSensorMessage(x, y, z, a, b, c, d);
+               
+               try {
+                       sensorSocket.send(sensorNumber + msg.getMessage());
+               } catch (Exception e1) {
+                       // TODO Auto-generated catch block
+                       e1.printStackTrace();
+               }
+       }
+       
+       public Mode getMode() {
+               return mode;
+       }
+       
+       public enum Mode {
+               YAW_PITCH, ROLL_PITCH, MOVE
+       };      
+}
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel.java b/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/MobilePanel.java
new file mode 100644 (file)
index 0000000..ef41656
--- /dev/null
@@ -0,0 +1,914 @@
+package com.samsung.linuxplatform.sensor.accelerometer.page;
+
+/* 
+ * Copyright (C) 2008 OpenIntents.org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * 09/Apr/08 Dale Thatcher <openintents at dalethatcher dot com>
+ *           Added wii-mote data collection.
+ */
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseMotionListener;
+import java.awt.geom.Line2D;
+
+import javax.swing.JPanel;
+import javax.swing.Timer;
+
+import com.samsung.freshide.connection.device.DeviceChecker;
+import com.samsung.freshide.connection.device.DeviceLauncherManager;
+import com.samsung.freshide.connection.device.DeviceManager;
+import com.samsung.freshide.connection.device.IDeviceListener;
+import com.samsung.freshide.connection.machine.IMachine;
+import com.samsung.linuxplatform.sensor.accelerometer.page.Accelerometer.Mode;
+import com.samsung.linuxplatform.sensor.magnetic.Magnetic;
+
+/**
+ * Displays a mobile phone in a panel and calculates sensor physics.
+ * 
+ * @author Peli
+ *
+ */
+@SuppressWarnings("serial")
+public class MobilePanel extends JPanel implements IDeviceListener {
+       
+       Accelerometer mPage;
+       /**
+        * Reference to SensorSimulator for accessing widgets.
+        */
+       
+       /** 
+        * Current read-out value of accelerometer x-component. 
+        * 
+        * This value is updated only at the desired 
+        * updateSensorRate().
+        */
+       double read_accelx;
+       /** Current read-out value of accelerometer y-component. */
+       double read_accely;
+       /** Current read-out value of accelerometer z-component. */
+       double read_accelz;
+
+       /** Current read-out value of orientation yaw. */
+       double read_yaw;
+       /** Current read-out value of orientation pitch. */
+       double read_pitch;
+       /** Current read-out value of orientation roll. */
+       double read_roll;
+       
+       /** Current read-out value of temperature. */
+       double read_temperature;
+       
+       /** Duration (in milliseconds) between two updates.
+        * This is the inverse of the update rate.
+        */
+       long accel_update_duration;
+       
+       /** Time of next update required.
+        * The time is compared to System.currentTimeMillis().
+        */
+       long accel_next_update;
+       
+       /** Duration (in milliseconds) between two updates.
+        * This is the inverse of the update rate.
+        */
+       long orientation_update_duration;
+       
+       /** Time of next update required.
+        * The time is compared to System.currentTimeMillis().
+        */
+       long orientation_next_update;
+       
+       /** Duration in milliseconds until user setting
+        * changes are read out.
+        */
+       long user_settings_duration;
+       
+       /** Time of next update for reading user settings from widgets.
+        * The time is compared to System.currentTimeMillis().
+        */
+       long user_settings_next_update;
+       
+       /** 
+        * Partial read-out value of accelerometer x-component. 
+        * 
+        * This partial value is used to calculate the
+        * sensor average.
+        */
+       double partial_accelx;
+       /** Partial read-out value of accelerometer y-component. */
+       double partial_accely;
+       /** Partial read-out value of accelerometer z-component. */
+       double partial_accelz;
+       /** Number of summands in partial sum for accelerometer. */
+       int partial_accel_n;
+       /** Whether to form the average over the last duration when reading out sensors. 
+        * Alternative is to just take the current value.
+        */
+       boolean average_accel;
+       
+       /** Partial read-out value of orientation yaw. */
+       double partial_yaw;
+       /** Partial read-out value of orientation pitch. */
+       double partial_pitch;
+       /** Partial read-out value of orientation roll. */
+       double partial_roll;
+       /** Number of summands in partial sum for orientation. */
+       int partial_orientation_n;
+       /** Whether to form the average over the last duration when reading out sensors. 
+        * Alternative is to just take the current value.
+        */
+       boolean average_orientation;
+       
+       /** Internal state value of accelerometer x-component.
+        * 
+        * This value is updated regularly by updateSensorPhysics().
+        */
+       double accelx;
+       /** Internal state value of accelerometer x-component. */
+       double accely;
+       /** Internal state value of accelerometer x-component. */
+       double accelz;
+       
+       // orientation (in degree)
+       double yaw;
+       double pitch;
+       double roll;
+       
+       // orientation sensor raw data (in degree)
+       double yawDegree;
+       double pitchDegree;
+       double rollDegree;
+       
+       /** Current position on screen. */
+       int movex;
+       /** Current position on screen. */
+       int movez;
+       
+       int oldx;
+       int oldz;
+       double vx; // velocity
+       double vz;
+       double oldvx;
+       double oldvz;
+       double ax; // acceleration
+       double az;
+       
+       double Fx; // force
+       double Fz; // force
+       double accx; // accelerometer position x on screen
+       double accz; // (DONT confuse with acceleration a!)
+       
+       /** Spring constant. */
+       double k; // spring constant
+       
+       /** Mass of accelerometer test particle.
+        * 
+        *  This is set to 1, as only the ratio
+        *  k/m enters the simulation. */
+       double m; // mass of accelerometer test particle
+       
+       /** Damping constant. */
+       double gamma; // damping of spring
+       
+       double dt; // time step size
+       
+       /** Inverse of screen pixel per meter */
+       double meterperpixel;
+       
+       /** Gravity constant. 
+        * 
+        * This takes the value 9.8 m/s^2.
+        * */
+       double g;
+       
+       /** 1/g (g-inverse) */
+       double ginverse;
+       
+       int mousedownx;
+       int mousedowny;
+       int mousedownyaw;
+       int mousedownpitch;
+       int mousedownroll;
+       int mousedownmovex;
+       int mousedownmovez;
+       
+       //gyro
+       boolean gyroStart;
+       Vector old_vector_yz;
+       Vector old_vector_xz;
+       double old_gyroYaw;
+       double old_gyroPitch;
+       double old_gyroRoll;
+       int gyroYawCount;
+       int gyroPitchCount;
+       int gyroRollCount;
+       
+       private double old_gyro_rollDegree = 0;
+       private double old_gyro_pitchDegree = 0;
+       private double old_gyro_yawDegree = 0;
+       private double[] gyro_axisX;
+       private double[] gyro_axisY;
+       private double[] gyro_axisZ;
+       
+       double gyroYaw;
+       double gyroPitch;
+       double gyroRoll;
+       
+       final String accelerometerSensorNumber = "1\n";
+       final String gyroSensorNumber = "4\n";
+       public boolean phone_pos_conv = false;
+       
+       /*
+        * http://code.google.com/android/reference/android/hardware/Sensors.html
+        * 
+        * With the device lying flat on a horizontal surface in front of the user, 
+        * oriented so the screen is readable by the user in the normal fashion, 
+        * the X axis goes from left to right, the Y axis goes from the user 
+        * toward the device, and the Z axis goes upwards perpendicular to the 
+        * surface. 
+        */
+       // Mobile size
+       final double sx = 15; // size x
+       final double sy = 40; // size y
+       final double sz = 5; // size z
+       
+       // Display size
+       final double dx = 12; // size x
+       final double dy1 = 33; // size y
+       final double dy2 = -15;
+       
+       /** Contains the grid model of the phone. */
+       double[][] phone = {
+                       // bottom shape
+                       { sx, sy, -sz}, {-sx, sy, -sz},
+                       {-sx, sy, -sz}, {-sx,-sy, -sz},
+                       {-sx,-sy, -sz}, { sx,-sy, -sz},
+                       { sx,-sy, -sz}, { sx, sy, -sz},
+                       // top shape
+                       { sx, sy, sz}, {-sx, sy, sz},
+                       {-sx, sy, sz}, {-sx,-sy, sz},
+                       {-sx,-sy, sz}, { sx,-sy, sz},
+                       { sx,-sy, sz}, { sx, sy, sz},
+                       // connectint top and bottom
+                       { sx, sy, -sz}, { sx, sy, sz},
+                       {-sx, sy, -sz}, {-sx, sy, sz},
+                       {-sx,-sy, -sz}, {-sx,-sy, sz},
+                       { sx,-sy, -sz}, { sx,-sy, sz},
+                       // display
+                       { dx, dy1, sz}, {-dx, dy1, sz},
+                       {-dx, dy1, sz}, {-dx, dy2, sz},
+                       {-dx, dy2, sz}, { dx, dy2, sz},
+                       { dx, dy2, sz}, { dx, dy1, sz},
+               };
+       private Timer timer;
+       private Timer geomagneticTimer;
+       private Timer gyroTimer;
+       private boolean connected = false;
+       
+       public MobilePanel(Accelerometer page) {
+               DeviceLauncherManager.addDeviceListener(this);
+//             TargetConnectionControl.addTargetConnectionListener(this);
+               
+               mPage = page;
+
+               yawDegree = 0;
+               pitchDegree = 0;
+               rollDegree = 0;
+               
+               gyroYawCount = 0;
+               gyroPitchCount = 0;
+               gyroRollCount = 0;
+               gyroStart = false;
+               
+               gyro_axisX = Vector.getAxisX().clone();
+               gyro_axisY = Vector.getAxisY().clone();
+               gyro_axisZ = Vector.getAxisZ().clone();
+
+               movex = 0;
+               movez = 0;
+               oldx = 0;
+               oldz = 0;
+               oldvx = 0;
+               oldvz = 0;
+               
+               Fx = 0;
+               Fz = 0;
+               accx = 0;
+               accz = 0;
+               k = 500; // spring constant
+               m = 1; // mass
+               gamma = 50; // damping 
+               
+               dt = 0.1;
+               meterperpixel = 1/3000.; // meter per pixel
+               g = 9.80665; // meter per second^2
+               ginverse = 1 / g;
+               
+               user_settings_duration = 500;  // Update every half second. This should be enough.
+               user_settings_next_update = System.currentTimeMillis(); // First update is now.
+               
+           addMouseListener(new MouseAdapter() {
+               public void mousePressed(MouseEvent e) {
+                       mousedownx = e.getX();
+                       mousedowny = e.getY();
+                       mousedownyaw = mPage.getYawSliderValue();
+                       mousedownpitch = mPage.getPitchSliderValue();
+                       mousedownroll = mPage.getRollSliderValue();
+                       mousedownmovex = movex;
+                       mousedownmovez = movez;
+               }
+               public void mouseReleased(MouseEvent e){
+                       phone_pos_conv = true;
+               }
+           });
+           
+
+       
+           addMouseMotionListener(new MouseMotionListener() {
+               public void mouseDragged(MouseEvent e) {
+                       if (mPage.getMode() == Mode.YAW_PITCH) {
+                               // Control yawDegree
+                               int newyaw = mousedownyaw - (e.getX() - mousedownx);
+                               while (newyaw > 180) {
+                                       newyaw -= 360;
+                                       gyroYawCount++;
+                               }
+                               while (newyaw < -180) {
+                                       newyaw += 360;
+                                       gyroYawCount--;
+                               }
+                               mPage.setYawSliderValue((int) newyaw);
+                               yawDegree = newyaw;
+                               
+                               // Control pitch
+                               int newpitch = mousedownpitch - (e.getY() - mousedowny);
+                               while (newpitch > 180) {
+                                       newpitch -= 360;
+                                       gyroPitchCount++;
+                               }
+                               while (newpitch < -180) {
+                                       newpitch += 360;
+                                       gyroPitchCount--;
+                               }
+                               mPage.setPitchSliderValue((int) newpitch);
+                               pitchDegree = newpitch;
+                       } else if (mPage.getMode() == Mode.ROLL_PITCH) {
+                               int newroll = mousedownroll + (e.getX() - mousedownx);
+                               while (newroll > 180) {
+                                       newroll -= 360;
+                                       gyroRollCount++;
+                               }
+                               while (newroll < -180) {
+                                       newroll += 360;
+                                       gyroRollCount--;
+                               }
+                               mPage.setRollSliderValue((int) newroll);
+                               rollDegree = newroll;
+                               
+                               // Control pitch
+                               int newpitch = mousedownpitch - (e.getY() - mousedowny);
+                               while (newpitch > 180) {
+                                       newpitch -= 360;
+                                       gyroPitchCount++;
+                               }
+                               while (newpitch < -180) {
+                                       newpitch += 360;
+                                       gyroPitchCount--;
+                               }
+                               mPage.setPitchSliderValue((int) newpitch);
+                               pitchDegree = newpitch;
+                       } else if (mPage.getMode() == Mode.MOVE) {
+                               // Control roll
+                               int newmovex = mousedownmovex + (e.getX() - mousedownx);
+                               movex = newmovex;
+                               
+                               // Control pitch
+                               int newmovez = mousedownmovez - (e.getY() - mousedowny);
+                               movez = newmovez;
+                       }
+
+                       repaint();
+               }
+
+            public void mouseMoved(MouseEvent evt) {
+                // NOOP
+            }
+           });
+           
+        int delay = 200;
+        timer = new Timer(delay, new ActionListener() {
+            public void actionPerformed(ActionEvent evt) {
+                updateSensorPhysics();
+                updateSensorReadoutValues();
+                updateUserSettings();
+                
+                mPage.sendMessage(accelerometerSensorNumber, read_accelx, read_accely, read_accelz);
+                
+            }
+        });
+        geomagneticTimer = new Timer(delay, new ActionListener(){
+                       public void actionPerformed(ActionEvent arg0) {
+                               Magnetic magnetic = Magnetic.getInstance();
+                               magnetic.setMagneticFiled(mPage.north, mPage.east, mPage.vertical);
+                               magnetic.updateSensorPhysics(rollDegree, pitchDegree, yawDegree);
+                               magnetic.updateSensorReadoutValues();
+                               magnetic.updateUserSettings();
+                               magnetic.setAzimuth();
+                               mPage.sendMessage(Magnetic.sensorNumber, magnetic.getAzimuth(), 0, 0 , 4, magnetic.getReadCompassX(), magnetic.getReadCompassY(), magnetic.getReadCompassZ());
+                               //System.out.println("geomagnetic : X " + magnetic.getReadCompassX() + " Y : " +  magnetic.getReadCompassY() + " Z : " +  magnetic.getReadCompassZ());
+                       }
+        });
+        gyroTimer = new Timer(delay, new ActionListener(){
+               public void actionPerformed(ActionEvent arg0) {
+                       updateSensorGyro();
+                       mPage.sendMessage(gyroSensorNumber, gyroPitch, gyroRoll, gyroYaw);
+                       }
+        });
+
+        timer.setCoalesce(true);
+        geomagneticTimer.setCoalesce(true);
+        gyroTimer.setCoalesce(true);
+       }
+       
+private void updateSensorGyro(){
+               
+               if( gyroStart == false){
+                       old_gyroYaw = yawDegree;
+                       old_gyroPitch = pitchDegree;
+                       old_gyroRoll = rollDegree;
+                       gyroStart = true;
+                       return;
+               }
+               
+               gyroRoll = gyroRollCount * 360 + rollDegree - old_gyroRoll;
+               gyroPitch = gyroPitchCount * 360 + pitchDegree - old_gyroPitch;
+               gyroYaw = gyroYawCount * 360 + yawDegree - old_gyroYaw;
+               
+               gyroYawCount = 0;
+               gyroPitchCount = 0;
+               gyroRollCount = 0;
+               
+               old_gyroRoll = rollDegree;
+               old_gyroPitch = pitchDegree;
+               old_gyroYaw = yawDegree;
+               while( gyroRoll > 2000) gyroRoll-=360;
+               while( gyroRoll < -2000) gyroRoll+=360;
+               while( gyroPitch > 2000) gyroPitch-=360;
+               while( gyroPitch < -2000) gyroPitch+=360;
+               while( gyroYaw > 2000) gyroYaw-=360;
+               while( gyroYaw < -2000) gyroYaw+=360;
+       }
+       
+       /**
+        * Updates physical model of all sensors by minimum time-step.
+        * 
+        * This internal update provides the close-to-continuum
+        * description of the sensors.
+        * It does not yet provide the values that
+        * are read out by the Sensors class (which are
+        * obtained by further time-selection or averaging).
+        */
+       public void updateSensorPhysics() {
+               Vector vec;
+
+               dt = 0.001 * 10;
+               g = 9.80665;
+               if (g != 0) {
+                       ginverse = 1 / g;
+               }
+               k = 500;
+               gamma = 50;
+               
+               Fx = + k * (movex - accx);
+               Fz = + k * (movez - accz);
+               
+               ax = Fx / m;
+               az = Fz / m;
+               
+               vx += (ax) * dt;
+               vz += (az) * dt;
+
+               accx += vx * dt;
+               accz += vz * dt;
+               
+               // We put damping here: We don't want to damp for
+               // zero motion with respect to the background,
+               // but with respect to the mobile phone:
+               accx += gamma * (movex - accx) * dt;
+               accz += gamma * (movez - accz) * dt;
+                               
+               // Calculate acceleration by gravity:
+               // TODO: Make to be able to set by settings page
+               double gravityax = 0;
+               double gravityay = 0;
+               double gravityaz = -9.80665;
+               
+               ////
+               // Now calculate this into mobile phone acceleration:
+               // ! Mobile phone's acceleration is just opposite to 
+               // lab frame acceleration !
+               vec = new Vector(-ax * meterperpixel + gravityax, gravityay, -az * meterperpixel + gravityaz);
+                       
+               // we reverse roll, pitch, and yawDegree,
+               // as this is how the mobile phone sees the coordinate system.
+               vec.reverserollpitchyaw();
+               
+               // TODO: Add check condition to figure out selected sensors
+//             if (mSensorSimulator.mEnabledAccelerometer.isSelected()) {
+                       accelx = vec.x;
+                       accely = vec.y;
+                       accelz = vec.z;
+                               
+                       // Add accelerometer limit:
+                       double limit = g * 10;
+                       if (limit > 0) {
+                               // limit on each component separately, as each is
+                               // a separate sensor.
+                               if (accelx > limit) accelx = limit;
+                               if (accelx < -limit) accelx = -limit;
+                               if (accely > limit) accely = limit;
+                               if (accely < -limit) accely = -limit;
+                               if (accelz > limit) accelz = limit;
+                               if (accelz < -limit) accelz = -limit;
+                       }
+//             } else {
+//                     accelx = 0;
+//                     accely = 0;
+//                     accelz = 0;
+//             }
+                       
+               // Orientation is currently not affected:
+//             if (mSensorSimulator.mEnabledOrientation.isSelected()) {
+                       //yaw = Math.toRadians(yawDegree);
+                       //pitch = Math.toRadians(pitchDegree);
+                       //roll = Math.toRadians(rollDegree);
+                       // Since OpenGL uses degree as input,
+                       // and it seems also more user-friendly,
+                       // let us stick to degree.
+                       // (it seems, professional sensors also use
+                       //  degree output.)
+                       yaw = yawDegree;
+                       pitch = pitchDegree;
+                       roll = rollDegree;              
+//             } else {
+//                     yaw = 0;
+//                     pitch = 0;
+//                     roll = 0;
+//             }
+               
+               // TODO: Add check condition for showing acceleration bar 
+//             if (mSensorSimulator.mShowAcceleration.isSelected()) {
+                       // We only have to repaint if we show the acceleration,
+                       // otherwise the phone does not change as long as there is
+                       // no user interaction.
+                       repaint();
+//             };
+
+       }
+       
+       /**
+        * Updates sensor values in time intervals as specified by updateSensorRate().
+        */
+       public void updateSensorReadoutValues() {
+               long currentTime = System.currentTimeMillis();
+               
+               // From time to time we 
+               
+               if (average_accel) {
+                       // Form the average
+                       partial_accelx += accelx;
+                       partial_accely += accely;
+                       partial_accelz += accelz;
+                       partial_accel_n++;
+               }
+               
+               if (average_orientation) {
+                       // Form the average
+                       partial_yaw += yaw;
+                       partial_pitch += pitch;
+                       partial_roll += roll;
+                       partial_orientation_n++;
+               }
+                               
+               if (currentTime >= accel_next_update) {
+                       // Update
+                       accel_next_update += accel_update_duration;
+                       if (accel_next_update < currentTime) {
+                               // Don't lag too much behind.
+                               // If we are too slow, then we are too slow.
+                               accel_next_update = currentTime;
+                       }
+                       
+                       if (average_accel) {
+                               // form average
+                               read_accelx = partial_accelx / partial_accel_n;
+                               read_accely = partial_accely / partial_accel_n;
+                               read_accelz = partial_accelz / partial_accel_n;
+                               
+                               // reset average
+                               partial_accelx = 0;
+                               partial_accely = 0;
+                               partial_accelz = 0;
+                               partial_accel_n = 0;
+                               
+                       } else {
+                               // Only take current value
+                               read_accelx = accelx;
+                               read_accely = accely;
+                               read_accelz = accelz;
+                       }
+                       
+               }
+
+               if (currentTime >= orientation_next_update) {
+                       // Update
+                       orientation_next_update += orientation_update_duration;
+                       if (orientation_next_update < currentTime) {
+                               // Don't lag too much behind.
+                               // If we are too slow, then we are too slow.
+                               orientation_next_update = currentTime;
+                       }
+                       
+                       if (average_orientation) {
+                               // form average
+                               read_yaw = partial_yaw / partial_orientation_n;
+                               read_pitch = partial_pitch / partial_orientation_n;
+                               read_roll = partial_roll / partial_orientation_n;
+                               
+                               // reset average
+                               partial_yaw = 0;
+                               partial_pitch = 0;
+                               partial_roll = 0;
+                               partial_orientation_n = 0;
+                               
+                       } else {
+                               // Only take current value
+                               read_yaw = yaw;
+                               read_pitch = pitch;
+                               read_roll = roll;
+                       }
+                       
+                       // Normalize values:
+                       
+                       // Restrict pitch value to -90 to +90
+                       if (read_pitch < -90) {
+                               read_pitch = -180 - read_pitch;
+                               read_yaw += 180;
+                               read_roll += 180;
+                       } else if (read_pitch > 90) {
+                               read_pitch = 180 - read_pitch;
+                               read_yaw += 180;
+                               read_roll += 180;
+                               
+                       }
+                       
+                       // yaw from 0 to 360
+                       if (read_yaw < 0) {
+                               read_yaw = read_yaw + 360;
+                       }
+                       if (read_yaw >= 360) {
+                               read_yaw -= 360;
+                       }
+                       
+                       // roll from -180 to + 180
+                       if (read_roll >= 180) {
+                               read_roll -= 360;
+                       }
+                       
+               }
+       }
+               
+       /**
+        * Updates user settings by reading out the widgets.
+        * This is done after some duration 
+        * set by user_settings_duration.
+        */
+       public void updateUserSettings() {
+               long currentTime = System.currentTimeMillis();
+               double rate;
+               
+               // From time to time we get the user settings:
+               if (currentTime >= user_settings_next_update) {
+                       // Do update
+                       user_settings_next_update += user_settings_duration;
+                       if (user_settings_next_update < currentTime) {
+                               // Skip time if we are already behind:
+                               user_settings_next_update = System.currentTimeMillis();
+                       }
+                       
+                       average_accel = true;
+                       rate = 50;
+                       if (rate != 0) {
+                               accel_update_duration = (long) (1000. / rate);
+                       } else {
+                               accel_update_duration = 0;
+                       }
+                       
+                       average_orientation = true;
+                       rate = 50;
+                       if (rate != 0) {
+                               orientation_update_duration = (long) (1000. / rate);
+                       } else {
+                               orientation_update_duration = 0;
+                       }
+               }
+       }
+       
+    public Dimension getPreferredSize() {
+        return new Dimension(250,200);
+    }
+    
+    /**
+     *  yaws a vector (rotate around z-axis)
+     */
+    
+    /**
+     * Draws the phone.
+     */
+    protected void paintComponent(Graphics graphics) {
+        super.paintComponent(graphics);       
+        // g.drawString("This is my custom Panel!",(int)yawDegree,(int)pitch);
+        
+        Graphics2D g2 = (Graphics2D) graphics;
+        // draw Line2D.Double
+        
+        double centerx = 100;
+        double centery = 100;
+        double centerz = -150;
+        double draw_roll = old_gyro_rollDegree - rollDegree;
+        double draw_pitch = old_gyro_pitchDegree-pitchDegree;
+        double draw_yaw = old_gyro_yawDegree-yawDegree;
+        
+        for (int i=0; i<phone.length; i+=2) {
+               if (i==0) g2.setColor(Color.RED);
+               if (i==24) g2.setColor(Color.BLUE);
+               
+               Vector v1 = new Vector(phone[i]);
+               Vector v2 = new Vector(phone[i+1]);
+//             v1.rollpitchyaw(rollDegree, pitchDegree, yawDegree);
+//             v2.rollpitchyaw(rollDegree, pitchDegree, yawDegree);
+               if( i == 0 ) {
+                       v1.setAxisX(gyro_axisX);
+               v1.setAxisY(gyro_axisY);
+               v1.setAxisZ(gyro_axisZ);
+                       v1.rollpitchyaw(draw_roll, draw_pitch, draw_yaw);
+               }
+               //v2.rollpitchyaw(draw_roll, draw_pitch, draw_yaw);
+               v1.setPosition();
+               v2.setPosition();
+               
+               if (phone_pos_conv == true) {
+                       if( i == 30){
+                               phone_pos_conv = false;
+                               
+                               gyro_axisX = Vector.getAxisX().clone();
+                               gyro_axisY = Vector.getAxisY().clone();
+                               gyro_axisZ = Vector.getAxisZ().clone();
+                               
+                               old_gyro_rollDegree = rollDegree;
+                               old_gyro_pitchDegree = pitchDegree;
+                               old_gyro_yawDegree = yawDegree;
+                       }
+               }
+               
+            g2.draw(new Line2D.Double(
+                       centerx + (v1.x + movex) * centerz / (centerz - v1.y), 
+                       centery - (v1.z + movez) * centerz / (centerz - v1.y), 
+                       centerx + (v2.x + movex) * centerz / (centerz - v2.y), 
+                       centery - (v2.z + movez) * centerz / (centerz - v2.y)));
+        }
+        
+//      if (mSensorSimulator.mShowAcceleration.isSelected()) {
+        // Now we also draw the acceleration:
+               g2.setColor(Color.GREEN);
+               Vector v1 = new Vector(0,0,0);
+               Vector v2 = new Vector(accelx, accely, accelz);
+               v2.scale(20 * ginverse);
+               //Vector v2 = new Vector(1, 0, 0);
+//             v1.rollpitchyaw(rollDegree, pitchDegree, yawDegree);
+//             v2.rollpitchyaw(rollDegree, pitchDegree, yawDegree);
+               v1.setPosition();
+               v2.setPosition();
+               g2.draw(new Line2D.Double(
+                               centerx + (v1.x + movex) * centerz / (centerz - v1.y), 
+                               centery - (v1.z + movez) * centerz / (centerz - v1.y), 
+                               centerx + (v2.x + movex) * centerz / (centerz - v2.y), 
+                               centery - (v2.z + movez) * centerz / (centerz - v2.y)));
+               
+    }  
+    
+    @Override
+    protected void finalize() throws Throwable {
+       DeviceLauncherManager.removeDeviceListener(this);
+//     TargetConnectionControl.removeTargetConnectionListener(this);
+       super.finalize();
+    }
+
+    public void accelerometerTimer(boolean checked){
+       if( timer != null){
+               if( checked == true && connected == true){
+                       timer.start();
+               }
+               if( checked == false){
+                       timer.stop();
+               }
+       }
+    }
+    public void geomagneticTimer(boolean checked){
+       if( geomagneticTimer != null){
+               if( checked == true && connected == true){
+                       geomagneticTimer.start();
+               }
+               if( checked == false){
+                       geomagneticTimer.stop();
+               }
+       }
+    }
+    public void gyroTimer(boolean checked){
+       if( gyroTimer != null){
+               if( checked == true && connected == true){
+                       gyroTimer.start();
+               }
+               if( checked == false){
+                       gyroTimer.stop();
+               }
+       }
+    }
+    public void setGyroAxisX(double[] axis) {
+       gyro_axisX = axis.clone();
+    }
+    public void setGyroAxisY(double[] axis) {
+       gyro_axisY = axis.clone();
+    }
+    public void setGyroAxisZ(double[] axis) {
+       gyro_axisZ = axis.clone();
+    }
+//     @Override
+       public void connect() {
+               connected = true;
+               
+               accelerometerTimer(mPage.checkboxAccelerometer.getSelection());
+               geomagneticTimer(mPage.checkboxGeoMagnetic.getSelection());
+               gyroTimer(mPage.checkboxGyro.getSelection());
+               if( mPage.dataOutputTimer != null){
+                       mPage.dataOutputTimer.start();
+               }
+       }
+
+//     @Override
+       public void disconnect() {
+               connected = false;
+               
+               accelerometerTimer(false);
+               geomagneticTimer(false);
+               gyroTimer(false);
+               if( mPage.dataOutputTimer != null){
+                       mPage.dataOutputTimer.stop();
+               }
+
+       }
+
+       @Override
+       public void StatusChanged(int Event) {
+//             if( DeviceManager.getSelectedDevice().getMachineType() == IMachine.VIRTUAL_DEVICE){
+//                     if (Event == IDeviceListener.RUNNING) {
+//                             connect();
+//                     }
+//                     else if( Event == IDeviceListener.NOT_RUNNING){
+//                             disconnect();
+//                     }
+//             }
+               
+       }
+
+       @Override
+       public void ConnectionChanged() {
+               if (DeviceChecker.hasActiveVirtualDevice( DeviceManager.getSelectedDevice().getMachineId() )) {
+                       connect();
+               }
+               else {
+                       disconnect();
+               }
+       }
+}
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/Vector.java b/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/Vector.java
new file mode 100644 (file)
index 0000000..bfadf9c
--- /dev/null
@@ -0,0 +1,242 @@
+package com.samsung.linuxplatform.sensor.accelerometer.page;
+/* 
+ * Copyright (C) 2008 OpenIntents.org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Rolls, pitches, and yaws a three-dimensional vector.
+ * 
+ * This tiny vector class is optimized for 
+ * rolling, pitching, and yawing of a three-vector.
+ * 
+ * @author Peli
+ *
+ */
+public class Vector {
+       public double x;
+       public double y;
+       public double z;
+       
+       private static double[] axisX = {1,0,0};
+       private static double[] axisY = {0,0,1};
+       private static double[] axisZ = {0,-1,0};
+       
+       
+       
+       public Vector() {
+               x = 0;
+               y = 0;
+               z = 0;
+       }
+       public Vector(Vector v) {
+               x = v.x;
+               y = v.y;
+               z = v.z;
+       }
+       public Vector(double x, double y, double z) {
+               this.x = x;
+               this.y = y;
+               this.z = z;
+       }
+       public Vector(double[] vec) {
+               x = vec[0];
+               y = vec[1];
+               z = vec[2];
+       }
+       
+       /**
+        * Scale the vector by a factor.
+        * 
+        * @param factor Common factor.
+        */
+       public void scale(double factor) {
+               x = factor * x;
+               y = factor * y;
+               z = factor * z;
+       }
+       
+       /**
+        * Yaw the vector (rotate around z-axis)
+        * 
+        * @param yaw yaw in Degree.
+        */
+       public void yaw(double yaw) {
+       Vector v = new Vector(this); // temporary vector
+       double yawRad = Math.toRadians(yaw);
+       double cos = Math.cos(yawRad);
+       double sin = Math.sin(yawRad);
+       x = cos * v.x + sin * v.y;
+       y = -sin * v.x + cos * v.y;
+       z = v.z;
+    }
+       
+       public void pitch(double pitch) {
+       Vector v = new Vector(this); // temporary vector
+       double pitchRad = Math.toRadians(pitch); // negative sign => positive as defined in SDK.
+       double cos = Math.cos(pitchRad);
+       double sin = Math.sin(pitchRad);
+       x = v.x;
+       y = cos * v.y + sin * v.z;
+       z = -sin * v.y + cos * v.z;
+    }
+       
+       public void roll(double roll) {
+       Vector v = new Vector(this); // temporary vector
+       double rollRad = Math.toRadians(roll);
+       double cos = Math.cos(rollRad);
+       double sin = Math.sin(rollRad);
+       x = cos * v.x + sin * v.z;
+       y = v.y;
+       z = -sin * v.x + cos * v.z;
+    }
+       
+       public static double[] getAxisX(){
+               return axisX;
+       }
+       public static double[] getAxisY(){
+               return axisY;
+       }
+       public static double[] getAxisZ(){
+               return axisZ;
+       }
+       public static void setAxisX(double[] axis){
+               axisX[0] = axis[0];
+               axisX[1] = axis[1];
+               axisX[2] = axis[2];
+       }
+       public static void setAxisY(double[] axis){
+               axisY[0] = axis[0];
+               axisY[1] = axis[1];
+               axisY[2] = axis[2];
+       }
+       public static void setAxisZ(double[] axis){
+               axisZ[0] = axis[0];
+               axisZ[1] = axis[1];
+               axisZ[2] = axis[2];
+       }
+       
+       public double[][] getRotationMatrix(){
+               double ret_val[][] = 
+               { {axisX[0], axisX[1], axisX[2], 0},
+                 {axisY[0], axisY[1], axisY[2], 0},
+                 {axisZ[0], axisZ[1], axisZ[2], 0},
+                 {0, 0, 0, 1}
+               };
+               
+               return ret_val;
+       }
+       public double[][] getReverseMatrix(double[][] matrix){
+               double ret_val[][] = new double[4][4];
+               for( int i = 0 ; i < 4 ; i++){
+                       for( int j = 0 ; j < 4 ; j++){
+                               ret_val[i][j] = matrix[j][i];
+                       }
+               }
+
+               return ret_val;
+       }
+       
+       public void changeAxisRoll( double angle, double[] axisX, double[] axisZ){
+               double orignalMatrix[][] = getRotationMatrix();
+               double reverseMatrix[][] = getReverseMatrix(orignalMatrix);
+
+               double Rad = Math.toRadians(angle);
+               double cos = Math.cos(Rad);
+               double sin = Math.sin(Rad);
+               
+               axisX[0] = cos * 1 + sin * 0;
+       axisX[1] = 0;
+       axisX[2] = -sin * 1 + cos * 0;
+       trasnAxis(axisX, reverseMatrix);
+
+       axisZ[0] = cos * 0 + sin * 1;
+       axisZ[1] = 0;
+       axisZ[2] = -sin * 0 + cos * 1;
+       trasnAxis(axisZ, reverseMatrix);
+       }
+       public void changeAxisPitch( double angle, double[] axisY, double[] axisZ){
+               double orignalMatrix[][] = getRotationMatrix();
+               double reverseMatrix[][] = getReverseMatrix(orignalMatrix);
+
+               double Rad = Math.toRadians(angle);
+               double cos = Math.cos(Rad);
+               double sin = Math.sin(Rad);
+               
+               axisY[0] = 0;
+       axisY[1] = cos * 1 + sin * 0;
+       axisY[2] = -sin * 1 + cos * 0;
+       trasnAxis(axisY, reverseMatrix);
+
+       axisZ[0] = 0;
+       axisZ[1] = cos * 0 + sin * 1;
+       axisZ[2] = -sin * 0 + cos * 1;
+       trasnAxis(axisZ, reverseMatrix);
+       }
+       public void changeAxisYaw( double angle, double[] axisX, double[] axisY){
+               double orignalMatrix[][] = getRotationMatrix();
+               double reverseMatrix[][] = getReverseMatrix(orignalMatrix);
+
+               double Rad = Math.toRadians(angle);
+               double cos = Math.cos(Rad);
+               double sin = Math.sin(Rad);
+               
+               axisX[0] = cos * 1 + sin * 0;
+       axisX[1] = -sin * 1 + cos * 0;
+       axisX[2] = 0;
+       trasnAxis(axisX, reverseMatrix);
+       
+       axisY[0] = cos * 0 + sin * 1;
+       axisY[1] = -sin * 0 + cos * 1;
+       axisY[2] = 0;
+       trasnAxis(axisY, reverseMatrix);
+       }
+       public void trasnAxis( double[] axis, double[][] matrix){
+               double[] temp_pos = {0,0,0,0};
+               for( int i = 0 ; i < 4 ; i++){
+                       temp_pos[i] = matrix[i][0] * axis[0] + matrix[i][1] * axis[1] + matrix[i][2] * axis[2];
+               }
+                               
+               axis[0] = temp_pos[0];
+               axis[1] = temp_pos[1];
+               axis[2] = temp_pos[2];
+       }
+       public void transVector( double[][] matrix){
+               double[] temp_pos = {0,0,0,0};
+               for( int i = 0 ; i < 4 ; i++){
+                       temp_pos[i] = matrix[i][0] * x + matrix[i][1] * y + matrix[i][2] * z;
+               }
+                               
+               x = temp_pos[0];
+               y = temp_pos[1];
+               z = temp_pos[2];
+       }
+       public void setPosition(){
+               double[][] rotationMatrix = getRotationMatrix();
+               double[][] reverseMatrix = getReverseMatrix(rotationMatrix);
+               transVector(reverseMatrix);
+       }
+       
+       public void rollpitchyaw(double roll, double pitch, double yaw) {
+               changeAxisRoll(roll, axisX, axisZ);
+               changeAxisPitch(pitch, axisY, axisZ);
+               changeAxisYaw(yaw, axisX, axisY);
+       }
+       
+       
+       public void reverserollpitchyaw() {
+               double[][] rotationMatrix = getRotationMatrix();
+               transVector(rotationMatrix);
+       }
+}
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/test/MobilePanel.java b/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/test/MobilePanel.java
new file mode 100644 (file)
index 0000000..5652bb4
--- /dev/null
@@ -0,0 +1,993 @@
+package com.samsung.linuxplatform.sensor.accelerometer.page.test;
+
+/* 
+ * Copyright (C) 2008 OpenIntents.org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * 09/Apr/08 Dale Thatcher <openintents at dalethatcher dot com>
+ *           Added wii-mote data collection.
+ */
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseMotionListener;
+import java.awt.geom.Line2D;
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.Random;
+
+import javax.swing.JPanel;
+import javax.swing.JSlider;
+
+import com.samsung.linuxplatform.sensor.accelerometer.page.Vector;
+
+/**
+ * Displays a mobile phone in a panel and calculates sensor physics.
+ * 
+ * @author Peli
+ *
+ */
+@SuppressWarnings("serial")
+public class MobilePanel extends JPanel {
+       
+       /**
+        * Reference to SensorSimulator for accessing widgets.
+        */
+       SensorSimulator mSensorSimulator;
+       
+       /** 
+        * Current read-out value of accelerometer x-component. 
+        * 
+        * This value is updated only at the desired 
+        * updateSensorRate().
+        */
+       double read_accelx;
+       /** Current read-out value of accelerometer y-component. */
+       double read_accely;
+       /** Current read-out value of accelerometer z-component. */
+       double read_accelz;
+       
+       /** Current read-out value of compass x-component. */
+       double read_compassx;
+       /** Current read-out value of compass y-component. */
+       double read_compassy;
+       /** Current read-out value of compass z-component. */
+       double read_compassz;
+       
+       /** Current read-out value of orientation yaw. */
+       double read_yaw;
+       /** Current read-out value of orientation pitch. */
+       double read_pitch;
+       /** Current read-out value of orientation roll. */
+       double read_roll;
+       
+       /** Current read-out value of temperature. */
+       double read_temperature;
+       
+       /** Duration (in milliseconds) between two updates.
+        * This is the inverse of the update rate.
+        */
+       long accel_update_duration;
+       
+       /** Time of next update required.
+        * The time is compared to System.currentTimeMillis().
+        */
+       long accel_next_update;
+       
+       /** Duration (in milliseconds) between two updates.
+        * This is the inverse of the update rate.
+        */
+       long compass_update_duration;
+       
+       /** Time of next update required.
+        * The time is compared to System.currentTimeMillis().
+        */
+       long compass_next_update;
+       
+       /** Duration (in milliseconds) between two updates.
+        * This is the inverse of the update rate.
+        */
+       long orientation_update_duration;
+       
+       /** Time of next update required.
+        * The time is compared to System.currentTimeMillis().
+        */
+       long orientation_next_update;
+       
+       /** Duration (in milliseconds) between two updates.
+        * This is the inverse of the update rate.
+        */
+       long temperature_update_duration;
+       
+       /** Time of next update required.
+        * The time is compared to System.currentTimeMillis().
+        */
+       long temperature_next_update;
+       
+       /** Duration in milliseconds until user setting
+        * changes are read out.
+        */
+       long user_settings_duration;
+       
+       /** Time of next update for reading user settings from widgets.
+        * The time is compared to System.currentTimeMillis().
+        */
+       long user_settings_next_update;
+       
+       /** 
+        * Partial read-out value of accelerometer x-component. 
+        * 
+        * This partial value is used to calculate the
+        * sensor average.
+        */
+       double partial_accelx;
+       /** Partial read-out value of accelerometer y-component. */
+       double partial_accely;
+       /** Partial read-out value of accelerometer z-component. */
+       double partial_accelz;
+       /** Number of summands in partial sum for accelerometer. */
+       int partial_accel_n;
+       /** Whether to form the average over the last duration when reading out sensors. 
+        * Alternative is to just take the current value.
+        */
+       boolean average_accel;
+       
+       /** Partial read-out value of compass x-component. */
+       double partial_compassx;
+       /** Partial read-out value of compass y-component. */
+       double partial_compassy;
+       /** Partial read-out value of compass z-component. */
+       double partial_compassz;
+       /** Number of summands in partial sum for compass. */
+       int partial_compass_n;
+       /** Whether to form the average over the last duration when reading out sensors. 
+        * Alternative is to just take the current value.
+        */
+       boolean average_compass;
+       
+       /** Partial read-out value of orientation yaw. */
+       double partial_yaw;
+       /** Partial read-out value of orientation pitch. */
+       double partial_pitch;
+       /** Partial read-out value of orientation roll. */
+       double partial_roll;
+       /** Number of summands in partial sum for orientation. */
+       int partial_orientation_n;
+       /** Whether to form the average over the last duration when reading out sensors. 
+        * Alternative is to just take the current value.
+        */
+       boolean average_orientation;
+       
+       /** Partial read-out value of temperature. */
+       double partial_temperature;
+       /** Number of summands in partial sum for temperature. */
+       int partial_temperature_n;
+       /** Whether to form the average over the last duration when reading out sensors. 
+        * Alternative is to just take the current value.
+        */
+       boolean average_temperature;
+       
+       
+       /** Internal state value of accelerometer x-component.
+        * 
+        * This value is updated regularly by updateSensorPhysics().
+        */
+       double accelx;
+       /** Internal state value of accelerometer x-component. */
+       double accely;
+       /** Internal state value of accelerometer x-component. */
+       double accelz;
+       
+       /** Internal state value of compass x-component. */
+       double compassx;
+       /** Internal state value of compass y-component. */
+       double compassy;
+       /** Internal state value of compass z-component. */
+       double compassz;
+       
+       // orientation (in degree)
+       double yaw;
+       double pitch;
+       double roll;
+       
+       // thermometer
+       double temperature;
+       
+       // orientation sensor raw data (in degree)
+       double yawDegree;
+       double pitchDegree;
+       double rollDegree;
+       
+       /** Current position on screen. */
+       int movex;
+       /** Current position on screen. */
+       int movez;
+       
+       int oldx;
+       int oldz;
+       double vx; // velocity
+       double vz;
+       double oldvx;
+       double oldvz;
+       double ax; // acceleration
+       double az;
+       
+       double Fx; // force
+       double Fz; // force
+       double accx; // accelerometer position x on screen
+       double accz; // (DONT confuse with acceleration a!)
+       
+       /** Spring constant. */
+       double k; // spring constant
+       
+       /** Mass of accelerometer test particle.
+        * 
+        *  This is set to 1, as only the ratio
+        *  k/m enters the simulation. */
+       double m; // mass of accelerometer test particle
+       
+       /** Damping constant. */
+       double gamma; // damping of spring
+       
+       double dt; // time step size
+       
+       /** Inverse of screen pixel per meter */
+       double meterperpixel;
+       
+       /** Gravity constant. 
+        * 
+        * This takes the value 9.8 m/s^2.
+        * */
+       double g;
+       
+       /** 1/g (g-inverse) */
+       double ginverse;
+       
+       int mousedownx;
+       int mousedowny;
+       int mousedownyaw;
+       int mousedownpitch;
+       int mousedownroll;
+       int mousedownmovex;
+       int mousedownmovez;
+       
+       JSlider yawSlider;
+       JSlider pitchSlider;
+       JSlider rollSlider;
+       
+       Random r;
+       
+       
+       /*
+        * http://code.google.com/android/reference/android/hardware/Sensors.html
+        * 
+        * With the device lying flat on a horizontal surface in front of the user, 
+        * oriented so the screen is readable by the user in the normal fashion, 
+        * the X axis goes from left to right, the Y axis goes from the user 
+        * toward the device, and the Z axis goes upwards perpendicular to the 
+        * surface. 
+        */
+       // Mobile size
+       final double sx = 15; // size x
+       final double sy = 40; // size y
+       final double sz = 5; // size z
+       
+       // Display size
+       final double dx = 12; // size x
+       final double dy1 = 33; // size y
+       final double dy2 = -15;
+       
+       /** Contains the grid model of the phone. */
+       double[][] phone = {
+                       // bottom shape
+                       { sx, sy, -sz}, {-sx, sy, -sz},
+                       {-sx, sy, -sz}, {-sx,-sy, -sz},
+                       {-sx,-sy, -sz}, { sx,-sy, -sz},
+                       { sx,-sy, -sz}, { sx, sy, -sz},
+                       // top shape
+                       { sx, sy, sz}, {-sx, sy, sz},
+                       {-sx, sy, sz}, {-sx,-sy, sz},
+                       {-sx,-sy, sz}, { sx,-sy, sz},
+                       { sx,-sy, sz}, { sx, sy, sz},
+                       // connectint top and bottom
+                       { sx, sy, -sz}, { sx, sy, sz},
+                       {-sx, sy, -sz}, {-sx, sy, sz},
+                       {-sx,-sy, -sz}, {-sx,-sy, sz},
+                       { sx,-sy, -sz}, { sx,-sy, sz},
+                       // display
+                       { dx, dy1, sz}, {-dx, dy1, sz},
+                       {-dx, dy1, sz}, {-dx, dy2, sz},
+                       {-dx, dy2, sz}, { dx, dy2, sz},
+                       { dx, dy2, sz}, { dx, dy1, sz},
+               };
+       
+       public MobilePanel(SensorSimulator newSensorSimulator) {
+               mSensorSimulator = newSensorSimulator;
+               
+               // setBorder(BorderFactory.createLineBorder(Color.black));
+           
+               yawDegree = 0;
+               pitchDegree = 0;
+               rollDegree = 0;
+               
+               movex = 0;
+               movez = 0;
+               oldx = 0;
+               oldz = 0;
+               oldvx = 0;
+               oldvz = 0;
+               
+               Fx = 0;
+               Fz = 0;
+               accx = 0;
+               accz = 0;
+               k = 500; // spring constant
+               m = 1; // mass
+               gamma = 50; // damping 
+               
+               dt = 0.1;
+               meterperpixel = 1/3000.; // meter per pixel
+               g = 9.80665; // meter per second^2
+               ginverse = 1 / g;
+               
+               user_settings_duration = 500;  // Update every half second. This should be enough.
+               user_settings_next_update = System.currentTimeMillis(); // First update is now.
+               
+               
+               r = new Random();
+               
+               //this.setDoubleBuffered(true);
+               
+           addMouseListener(new MouseAdapter() {
+               public void mousePressed(MouseEvent e) {
+                   //moveSquare(e.getX(),e.getY());
+                       mousedownx = e.getX();
+                       mousedowny = e.getY();
+                       mousedownyaw = yawSlider.getValue();
+                       mousedownpitch = pitchSlider.getValue();
+                       mousedownroll = rollSlider.getValue();
+                       mousedownmovex = movex;
+                       mousedownmovez = movez;
+                       
+               }
+           });
+       
+           addMouseMotionListener(new MouseMotionListener() {
+               public void mouseDragged(MouseEvent e) {
+                   //moveSquare(e.getX(),e.getY());
+                       if (mSensorSimulator.mouseMode 
+                                       == SensorSimulator.mouseYawPitch) {
+                               // Control yawDegree
+                               int newyaw = mousedownyaw - (e.getX() - mousedownx);
+                               while (newyaw > 180) newyaw -= 360;
+                               while (newyaw < -180) newyaw += 360;
+                               yawSlider.setValue((int) newyaw);
+                               yawDegree = newyaw;
+                               
+                               // Control pitch
+                               int newpitch = mousedownpitch - (e.getY() - mousedowny);
+                               while (newpitch > 180) newpitch -= 360;
+                               while (newpitch < -180) newpitch += 360;
+                               pitchSlider.setValue((int) newpitch);
+                               pitchDegree = newpitch;
+                       } else if (mSensorSimulator.mouseMode 
+                                       == SensorSimulator.mouseRollPitch) {
+                               // Control roll
+                               int newroll = mousedownroll + (e.getX() - mousedownx);
+                               while (newroll > 180) newroll -= 360;
+                               while (newroll < -180) newroll += 360;
+                               rollSlider.setValue((int) newroll);
+                               rollDegree = newroll;
+                               
+                               // Control pitch
+                               int newpitch = mousedownpitch - (e.getY() - mousedowny);
+                               while (newpitch > 180) newpitch -= 360;
+                               while (newpitch < -180) newpitch += 360;
+                               pitchSlider.setValue((int) newpitch);
+                               pitchDegree = newpitch;
+                       } else if (mSensorSimulator.mouseMode 
+                                       == SensorSimulator.mouseMove) {
+                               // Control roll
+                               int newmovex = mousedownmovex + (e.getX() - mousedownx);
+                               movex = newmovex;
+                               
+                               // Control pitch
+                               int newmovez = mousedownmovez - (e.getY() - mousedowny);
+                               movez = newmovez;
+                       }
+                       
+                       repaint();
+               }
+
+            public void mouseMoved(MouseEvent evt) {
+                // NOOP
+            }
+           });
+       }
+       
+       /**
+        * Updates physical model of all sensors by minimum time-step.
+        * 
+        * This internal update provides the close-to-continuum
+        * description of the sensors.
+        * It does not yet provide the values that
+        * are read out by the Sensors class (which are
+        * obtained by further time-selection or averaging).
+        */
+       public void updateSensorPhysics() {
+               Vector vec;
+               double random;
+
+               // Update the timer if necessary:
+               double newdelay;
+               newdelay = mSensorSimulator.getSafeDouble(mSensorSimulator.mUpdateText);
+               if (newdelay > 0) {
+                       mSensorSimulator.delay = (int) newdelay;
+                       mSensorSimulator.timer.setDelay(mSensorSimulator.delay);
+               }
+               
+               dt = 0.001 * mSensorSimulator.delay; // from ms to s
+               g = mSensorSimulator.getSafeDouble(mSensorSimulator.mGravityConstantText, 9.80665);
+               if (g != 0) {
+                       ginverse = 1 / g;
+               }
+               meterperpixel = 1 / mSensorSimulator.getSafeDouble(mSensorSimulator.mPixelPerMeterText, 3000);
+               k = mSensorSimulator.getSafeDouble(mSensorSimulator.mSpringConstantText, 500);
+               gamma = mSensorSimulator.getSafeDouble(mSensorSimulator.mDampingConstantText, 50);
+               
+       /*      
+               // Calculate velocity induced by mouse:
+               double f = meterperpixel / g;
+               vx = f * ((double) (movex - oldx)) / dt;
+               vz = f * ((double) (movez - oldz)) / dt;
+               
+               // Calculate acceleration induced by mouse:
+               ax = (vx - oldvx) / dt;
+               az = (vz - oldvz) / dt;
+*/
+               // New physical model of acceleration:
+               // Have accelerometer be steered by string.
+               // We will treat this 2D only, as the rest is a linear
+               // transformation, and we assume all three accelerometer
+               // directions behave the same.
+               
+               // F = m * a
+               // F = - k * x
+               
+               // First calculate the force acting on the
+               // sensor test particle, assuming that
+               // the accelerometer is mounted by a string:
+               // F = - k * x
+               Fx = + k * (movex - accx);
+               Fz = + k * (movez - accz);
+               
+               // a = F / m
+               ax = Fx / m;
+               az = Fz / m;
+               
+               // Calculate velocity by integrating
+               // the current acceleration.
+               // Take into account damping
+               // by damping constant gamma.
+               // integrate dv/dt = a - v*gamma
+               //vx += (ax - vx * gamma) * dt;
+               //vz += (az - vz * gamma) * dt;
+               
+               vx += (ax) * dt;
+               vz += (az) * dt;
+               
+               // Now this is the force that tries to adjust 
+               // the accelerometer back
+               // integrate dx/dt = v;
+               accx += vx * dt;
+               accz += vz * dt;
+               
+               // We put damping here: We don't want to damp for
+               // zero motion with respect to the background,
+               // but with respect to the mobile phone:
+               accx += gamma * (movex - accx) * dt;
+               accz += gamma * (movez - accz) * dt;
+               
+               /*
+               // Old values:
+               oldx = movex;
+               oldz = movez;
+               oldvx = vx;
+               oldvz = vz;
+               */
+               
+               // Calculate acceleration by gravity:
+               double gravityax;
+               double gravityay;
+               double gravityaz;
+               
+               gravityax = mSensorSimulator.getSafeDouble(mSensorSimulator.mGravityXText);
+               gravityay = mSensorSimulator.getSafeDouble(mSensorSimulator.mGravityYText);
+               gravityaz = mSensorSimulator.getSafeDouble(mSensorSimulator.mGravityZText);
+               
+               
+               ////
+               // Now calculate this into mobile phone acceleration:
+               // ! Mobile phone's acceleration is just opposite to 
+               // lab frame acceleration !
+               vec = new Vector(-ax * meterperpixel + gravityax, gravityay, -az * meterperpixel + gravityaz);
+                               
+               // we reverse roll, pitch, and yawDegree,
+               // as this is how the mobile phone sees the coordinate system.
+               vec.reverserollpitchyaw();
+               
+               if (mSensorSimulator.mEnabledAccelerometer.isSelected()) {
+//                     if (mSensorSimulator.mRealDeviceWiimote.isSelected()) {
+//                             accelx = mSensorSimulator.wiiMoteData.getX() * g;
+//                             accely = mSensorSimulator.wiiMoteData.getY() * g;
+//                             accelz = mSensorSimulator.wiiMoteData.getZ() * g;
+//                     }
+//                     else {
+                               accelx = vec.x;
+                               accely = vec.y;
+                               accelz = vec.z;         
+                               
+                               if (mSensorSimulator.mRealDeviceThinkpad.isSelected()) {
+                                       // We will use data directly from sensor instead:
+                                       
+                                       // Read data from file
+                                       String line = "";
+                                       try {
+                                         //FileReader always assumes default encoding is OK!
+                                         BufferedReader input =  new BufferedReader(
+                                                         new FileReader(mSensorSimulator.mRealDevicePath.getText()));
+                                         try {
+                                                 line = input.readLine();
+                                         } finally {
+                                           input.close();
+                                           //mSensorSimulator.mRealDeviceThinkpadOutputLabel.setBackground(Color.WHITE);
+                                         }
+                                       }
+                                       catch (IOException ex){
+                                         ex.printStackTrace();
+                                         //mSensorSimulator.mRealDeviceThinkpadOutputLabel.setBackground(Color.RED);
+                                         line = "Error reading file!";
+                                       }
+                                       
+                                       // Show the line content:
+                                       mSensorSimulator.mRealDeviceOutputLabel.setText(line);
+       
+                                       // Assign values
+                                       
+                                       // Create z-component (optional)
+                                       
+                               }
+                               
+                               // Add random component:
+                               random = mSensorSimulator.getSafeDouble(mSensorSimulator.mRandomAccelerometerText);
+                               if (random > 0) {
+                                       accelx += getRandom(random);
+                                       accely += getRandom(random);
+                                       accelz += getRandom(random);
+                               }
+                               
+                               // Add accelerometer limit:
+                               double limit = g * mSensorSimulator.getSafeDouble(mSensorSimulator.mAccelerometerLimitText);
+                               if (limit > 0) {
+                                       // limit on each component separately, as each is
+                                       // a separate sensor.
+                                       if (accelx > limit) accelx = limit;
+                                       if (accelx < -limit) accelx = -limit;
+                                       if (accely > limit) accely = limit;
+                                       if (accely < -limit) accely = -limit;
+                                       if (accelz > limit) accelz = limit;
+                                       if (accelz < -limit) accelz = -limit;
+//                             }
+                       }
+               } else {
+                       accelx = 0;
+                       accely = 0;
+                       accelz = 0;
+               }
+               
+               // Calculate magnetic field:
+               // Calculate acceleration by gravity:
+               double magneticnorth;
+               double magneticeast;
+               double magneticvertical;
+               
+               if (mSensorSimulator.mEnabledMagneticField.isSelected()) {
+                       magneticnorth = mSensorSimulator.getSafeDouble(mSensorSimulator.mMagneticFieldNorthText);
+                       magneticeast = mSensorSimulator.getSafeDouble(mSensorSimulator.mMagneticFieldEastText);
+                       magneticvertical = mSensorSimulator.getSafeDouble(mSensorSimulator.mMagneticFieldVerticalText);
+
+                       // Add random component:
+                       random = mSensorSimulator.getSafeDouble(mSensorSimulator.mRandomMagneticFieldText);
+                       if (random > 0) {
+                               magneticnorth += getRandom(random);
+                               magneticeast += getRandom(random);
+                               magneticvertical += getRandom(random);
+                       }
+                       
+                       // Magnetic vector in phone coordinates:
+                       vec = new Vector(magneticeast, magneticnorth, -magneticvertical);
+                       vec.scale(0.001); // convert from nT (nano-Tesla) to �T (micro-Tesla)
+                       
+                       // we reverse roll, pitch, and yawDegree,
+                       // as this is how the mobile phone sees the coordinate system.
+                       vec.reverserollpitchyaw();
+                       
+                       compassx = vec.x;
+                       compassy = vec.y;
+                       compassz = vec.z;
+               } else {
+                       compassx = 0;
+                       compassy = 0;
+                       compassz = 0;
+               }
+               
+               // Orientation is currently not affected:
+               if (mSensorSimulator.mEnabledOrientation.isSelected()) {
+                       //yaw = Math.toRadians(yawDegree);
+                       //pitch = Math.toRadians(pitchDegree);
+                       //roll = Math.toRadians(rollDegree);
+                       // Since OpenGL uses degree as input,
+                       // and it seems also more user-friendly,
+                       // let us stick to degree.
+                       // (it seems, professional sensors also use
+                       //  degree output.)
+                       yaw = yawDegree;
+                       pitch = pitchDegree;
+                       roll = rollDegree;
+                       
+                       // Add random component:
+                       random = mSensorSimulator.getSafeDouble(mSensorSimulator.mRandomOrientationText);
+                       if (random > 0) {
+                               yaw += getRandom(random);
+                               pitch += getRandom(random);
+                               roll += getRandom(random);
+                       }
+               } else {
+                       yaw = 0;
+                       pitch = 0;
+                       roll = 0;
+               }
+               
+               // Thermometer
+               if (mSensorSimulator.mEnabledTemperature.isSelected()) {
+                       temperature = mSensorSimulator.getSafeDouble(mSensorSimulator.mTemperatureText);
+               
+                       // Add random component:
+                       random = mSensorSimulator.getSafeDouble(mSensorSimulator.mRandomTemperatureText);
+                       if (random > 0) {
+                               temperature += getRandom(random);
+                       }
+               } else {
+                       temperature = 0;
+               }
+               
+               if (mSensorSimulator.mShowAcceleration.isSelected()) {
+                       // We only have to repaint if we show the acceleration,
+                       // otherwise the phone does not change as long as there is
+                       // no user interaction.
+                       repaint();
+               };
+
+       }
+       
+       /**
+        * Updates sensor values in time intervals as specified by updateSensorRate().
+        */
+       public void updateSensorReadoutValues() {
+               long currentTime = System.currentTimeMillis();
+               
+               // From time to time we 
+               
+               if (average_accel) {
+                       // Form the average
+                       partial_accelx += accelx;
+                       partial_accely += accely;
+                       partial_accelz += accelz;
+                       partial_accel_n++;
+               }
+               
+               if (average_compass) {
+                       // Form the average
+                       partial_compassx += compassx;
+                       partial_compassy += compassy;
+                       partial_compassz += compassz;
+                       partial_compass_n++;
+               }
+               
+               if (average_orientation) {
+                       // Form the average
+                       partial_yaw += yaw;
+                       partial_pitch += pitch;
+                       partial_roll += roll;
+                       partial_orientation_n++;
+               }
+               
+               if (average_temperature) {
+                       // Form the average
+                       partial_temperature += temperature;
+                       partial_temperature_n++;
+               }
+               
+               if (currentTime >= accel_next_update) {
+                       // Update
+                       accel_next_update += accel_update_duration;
+                       if (accel_next_update < currentTime) {
+                               // Don't lag too much behind.
+                               // If we are too slow, then we are too slow.
+                               accel_next_update = currentTime;
+                       }
+                       
+                       if (average_accel) {
+                               // form average
+                               read_accelx = partial_accelx / partial_accel_n;
+                               read_accely = partial_accely / partial_accel_n;
+                               read_accelz = partial_accelz / partial_accel_n;
+                               
+                               // reset average
+                               partial_accelx = 0;
+                               partial_accely = 0;
+                               partial_accelz = 0;
+                               partial_accel_n = 0;
+                               
+                       } else {
+                               // Only take current value
+                               read_accelx = accelx;
+                               read_accely = accely;
+                               read_accelz = accelz;
+                       }
+                       
+               }
+
+               if (currentTime >= compass_next_update) {
+                       // Update
+                       compass_next_update += compass_update_duration;
+                       if (compass_next_update < currentTime) {
+                               // Don't lag too much behind.
+                               // If we are too slow, then we are too slow.
+                               compass_next_update = currentTime;
+                       }
+                       
+                       if (average_compass) {
+                               // form average
+                               read_compassx = partial_compassx / partial_compass_n;
+                               read_compassy = partial_compassy / partial_compass_n;
+                               read_compassz = partial_compassz / partial_compass_n;
+                               
+                               // reset average
+                               partial_compassx = 0;
+                               partial_compassy = 0;
+                               partial_compassz = 0;
+                               partial_compass_n = 0;
+                               
+                       } else {
+                               // Only take current value
+                               read_compassx = compassx;
+                               read_compassy = compassy;
+                               read_compassz = compassz;
+                       }
+                       
+               }
+               
+               if (currentTime >= orientation_next_update) {
+                       // Update
+                       orientation_next_update += orientation_update_duration;
+                       if (orientation_next_update < currentTime) {
+                               // Don't lag too much behind.
+                               // If we are too slow, then we are too slow.
+                               orientation_next_update = currentTime;
+                       }
+                       
+                       if (average_orientation) {
+                               // form average
+                               read_yaw = partial_yaw / partial_orientation_n;
+                               read_pitch = partial_pitch / partial_orientation_n;
+                               read_roll = partial_roll / partial_orientation_n;
+                               
+                               // reset average
+                               partial_yaw = 0;
+                               partial_pitch = 0;
+                               partial_roll = 0;
+                               partial_orientation_n = 0;
+                               
+                       } else {
+                               // Only take current value
+                               read_yaw = yaw;
+                               read_pitch = pitch;
+                               read_roll = roll;
+                       }
+                       
+                       // Normalize values:
+                       
+                       // Restrict pitch value to -90 to +90
+                       if (read_pitch < -90) {
+                               read_pitch = -180 - read_pitch;
+                               read_yaw += 180;
+                               read_roll += 180;
+                       } else if (read_pitch > 90) {
+                               read_pitch = 180 - read_pitch;
+                               read_yaw += 180;
+                               read_roll += 180;
+                               
+                       }
+                       
+                       // yaw from 0 to 360
+                       if (read_yaw < 0) {
+                               read_yaw = read_yaw + 360;
+                       }
+                       if (read_yaw >= 360) {
+                               read_yaw -= 360;
+                       }
+                       
+                       // roll from -180 to + 180
+                       if (read_roll >= 180) {
+                               read_roll -= 360;
+                       }
+                       
+               }
+               
+               if (currentTime >= temperature_next_update) {
+                       // Update
+                       temperature_next_update += temperature_update_duration;
+                       if (temperature_next_update < currentTime) {
+                               // Don't lag too much behind.
+                               // If we are too slow, then we are too slow.
+                               temperature_next_update = currentTime;
+                       }
+                       
+                       if (average_temperature) {
+                               // form average
+                               read_temperature = partial_temperature / partial_temperature_n;
+                               
+                               // reset average
+                               partial_temperature = 0;
+                               partial_temperature_n = 0;
+                               
+                       } else {
+                               // Only take current value
+                               read_temperature = temperature;
+                       }
+                       
+               }
+       }
+               
+       /**
+        * Updates user settings by reading out the widgets.
+        * This is done after some duration 
+        * set by user_settings_duration.
+        */
+       public void updateUserSettings() {
+               long currentTime = System.currentTimeMillis();
+               double rate;
+               
+               // From time to time we get the user settings:
+               if (currentTime >= user_settings_next_update) {
+                       // Do update
+                       user_settings_next_update += user_settings_duration;
+                       if (user_settings_next_update < currentTime) {
+                               // Skip time if we are already behind:
+                               user_settings_next_update = System.currentTimeMillis();
+                       }
+                       
+                       average_accel = mSensorSimulator.mUpdateAverageAccelerometer.isSelected();
+                       rate = mSensorSimulator.getSafeDouble(
+                                       mSensorSimulator.mCurrentUpdateRateAccelerometerText, 0);
+                       if (rate != 0) {
+                               accel_update_duration = (long) (1000. / rate);
+                       } else {
+                               accel_update_duration = 0;
+                       }
+                       
+                       average_compass = mSensorSimulator.mUpdateAverageCompass.isSelected();
+                       rate = mSensorSimulator.getSafeDouble(
+                                       mSensorSimulator.mCurrentUpdateRateCompassText, 0);
+                       if (rate != 0) {
+                               compass_update_duration = (long) (1000. / rate);
+                       } else {
+                               compass_update_duration = 0;
+                       }
+                       
+                       average_orientation = mSensorSimulator.mUpdateAverageOrientation.isSelected();
+                       rate = mSensorSimulator.getSafeDouble(
+                                       mSensorSimulator.mCurrentUpdateRateOrientationText, 0);
+                       if (rate != 0) {
+                               orientation_update_duration = (long) (1000. / rate);
+                       } else {
+                               orientation_update_duration = 0;
+                       }
+                       
+                       average_temperature = mSensorSimulator.mUpdateAverageThermometer.isSelected();
+                       rate = mSensorSimulator.getSafeDouble(
+                                       mSensorSimulator.mCurrentUpdateRateThermometerText, 0);
+                       if (rate != 0) {
+                               temperature_update_duration = (long) (1000. / rate);
+                       } else {
+                               temperature_update_duration = 0;
+                       }
+               }
+       }
+       
+       /** 
+        * get a random number in the range -random to +random
+        * 
+        * @param random range of random number
+        * @return random number
+        */
+       public double getRandom(double random) {
+               double val;
+               val = r.nextDouble();
+               return (2*val - 1) * random;
+       }
+       
+    public Dimension getPreferredSize() {
+        return new Dimension(250,200);
+    }
+    
+    /**
+     *  yaws a vector (rotate around z-axis)
+     */
+    
+    /**
+     * Draws the phone.
+     */
+    protected void paintComponent(Graphics graphics) {
+        super.paintComponent(graphics);       
+        // g.drawString("This is my custom Panel!",(int)yawDegree,(int)pitch);
+        
+        Graphics2D g2 = (Graphics2D) graphics;
+        // draw Line2D.Double
+        
+        double centerx = 100;
+        double centery = 100;
+        double centerz = -150;
+        for (int i=0; i<phone.length; i+=2) {
+               if (i==0) g2.setColor(Color.RED);
+               if (i==24) g2.setColor(Color.BLUE);
+               
+               Vector v1 = new Vector(phone[i]);
+               Vector v2 = new Vector(phone[i+1]);
+               v1.rollpitchyaw(rollDegree, pitchDegree, yawDegree);
+               v2.rollpitchyaw(rollDegree, pitchDegree, yawDegree);
+            g2.draw(new Line2D.Double(
+                       centerx + (v1.x + movex) * centerz / (centerz - v1.y), 
+                       centery - (v1.z + movez) * centerz / (centerz - v1.y), 
+                       centerx + (v2.x + movex) * centerz / (centerz - v2.y), 
+                       centery - (v2.z + movez) * centerz / (centerz - v2.y)));
+        }
+        
+        if (mSensorSimulator.mShowAcceleration.isSelected()) {
+               // Now we also draw the acceleration:
+               g2.setColor(Color.GREEN);
+               Vector v1 = new Vector(0,0,0);
+               Vector v2 = new Vector(accelx, accely, accelz);
+               v2.scale(20 * ginverse);
+               //Vector v2 = new Vector(1, 0, 0);
+               v1.rollpitchyaw(rollDegree, pitchDegree, yawDegree);
+               v2.rollpitchyaw(rollDegree, pitchDegree, yawDegree);
+               g2.draw(new Line2D.Double(
+                               centerx + (v1.x + movex) * centerz / (centerz - v1.y), 
+                               centery - (v1.z + movez) * centerz / (centerz - v1.y), 
+                               centerx + (v2.x + movex) * centerz / (centerz - v2.y), 
+                               centery - (v2.z + movez) * centerz / (centerz - v2.y)));
+        
+        }
+    }  
+
+}
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorServer.java b/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorServer.java
new file mode 100644 (file)
index 0000000..a024e80
--- /dev/null
@@ -0,0 +1,161 @@
+package com.samsung.linuxplatform.sensor.accelerometer.page.test;
+/* 
+ * Copyright (C) 2008 OpenIntents.org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.net.Socket;
+
+/**
+ * Listens for incoming connections from an Android phone or emulator.
+ * 
+ * Connections are then passed to the {@link SensorServerThread}.
+ * 
+ * @author Peli
+ *
+ */
+public class SensorServer implements Runnable {
+
+       public SensorSimulator mSensorSimulator;
+       
+       /**
+        * linked list of all successors, so that we can destroy them 
+        * when needed.
+        */
+       public Thread mThread;
+       public SensorServerThread firstThread;
+       public SensorServerThread lastThread;
+       
+       private ServerSocket serverSocket;
+       
+       
+       public int port;
+       public boolean listening; 
+       
+       
+       /**
+        * Constructor to start as server that listens for connections.
+        * @param newSensorSimulator
+        */
+       public SensorServer(SensorSimulator newSensorSimulator) {
+               mSensorSimulator = newSensorSimulator;
+               firstThread = null;
+               lastThread = null;
+               listening = true;
+               
+               // start ourselves:
+               mThread = new Thread(this);
+               mThread.start();
+       }
+       
+       
+       // Called when starting a thread for network connection
+       public void run() {
+               listenServer();
+       }
+       
+    public void listenServer() {
+       // obtain port number:
+       port = mSensorSimulator.getPort();
+       if (port == 0) return;
+       
+       serverSocket = null;
+        try {
+            serverSocket = new ServerSocket(port);
+        } catch (IOException e) {
+            //System.err.println("Could not listen on port: 4444.");
+            //System.exit(1);
+               mSensorSimulator.addMessage("Could not listen on port: " + port);
+               return;
+        }
+        
+        
+        Socket clientSocket = null;
+        try {
+               mSensorSimulator.addMessage("Listening on port " + port + "...");
+               while (listening) {
+                       clientSocket = serverSocket.accept();
+                       
+                       // First we notify this:
+                       mSensorSimulator.newClient();
+                       
+                        // Start again new thread:
+                SensorServerThread newThread 
+                       = new SensorServerThread(mSensorSimulator, clientSocket);
+                
+                // set the linking:
+                if (firstThread == null) {
+                       // this is the first thread:
+                       firstThread = newThread;
+                       lastThread = newThread;
+                } else {
+                       // link into chain:
+                       lastThread.nextThread = newThread;
+                       newThread.previousThread = lastThread;
+                       lastThread = newThread;
+                }
+               }
+            
+        } catch (IOException e) {
+               if (listening) {
+                       System.err.println("Accept failed.");
+                       //System.exit(1);
+               } else {
+                       // everything ok, socket closed by user.
+               }
+        }
+        
+        try {
+               serverSocket.close();
+        } catch (IOException e) {
+            System.err.println("Close failed.");
+            System.exit(1);
+        }
+    }
+    
+    /**
+     * Stop all active threads and then oneself.
+     */
+    public void stop() {
+       
+       // go through the list and kill in turn
+       SensorServerThread sst;
+       SensorServerThread ssthelp;
+       for (sst = firstThread; sst != null; sst = ssthelp) {
+               // first remember next pointer before it is gone:
+               ssthelp = sst.nextThread;
+               //sst.mThread.interrupt();
+               sst.stop();
+       }
+       
+       // finally kill ourselves:
+       listening = false;
+       //mThread.interrupt();
+       
+       // rather close the socket
+       // (see http://java.sun.com/j2se/1.4.2/docs/guide/misc/threadPrimitiveDeprecation.html )
+       try {
+               if (serverSocket != null) {
+                       mSensorSimulator.addMessage("Closing listening server...");
+                       serverSocket.close();
+               }
+        } catch (IOException e) {
+            System.err.println("Close failed.");
+            System.exit(1);
+        }
+       
+    }
+}
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorServerThread.java b/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorServerThread.java
new file mode 100644 (file)
index 0000000..cda9faf
--- /dev/null
@@ -0,0 +1,506 @@
+package com.samsung.linuxplatform.sensor.accelerometer.page.test;
+/* 
+ * Copyright (C) 2008 OpenIntents.org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.net.Socket;
+
+/**
+ * Handles the communication with the SensorClient from the Android phone or emulator.
+ * 
+ * This class is invoked from the {@link SensorServer}.
+ * 
+ * @author Peli
+ *
+ */
+public class SensorServerThread implements Runnable {
+
+       public SensorSimulator mSensorSimulator;
+       
+       /**
+        * linked list of all successors, so that we can destroy them 
+        * when needed.
+        */
+       public Thread mThread;
+       public SensorServerThread nextThread;
+       public SensorServerThread previousThread;
+       
+       public Socket mClientSocket;
+       
+       
+       /**
+        * Whether thread is supposed to be continuing work.
+        */
+       boolean talking;
+       /*
+       String[] mSupportedSensors = {
+                       SensorSimulator.ACCELEROMETER,
+                       SensorSimulator.COMPASS,
+                       SensorSimulator.ORIENTATION
+               };
+       */
+       
+       /**
+        * Constructor to start as thread.
+        * @param newSensorSimulator
+        */
+       public SensorServerThread(SensorSimulator newSensorSimulator,
+                       Socket newClientSocket) {
+               mSensorSimulator = newSensorSimulator;
+               nextThread = null;
+               previousThread = null;
+               mClientSocket = newClientSocket;
+               talking = true;
+               
+               // start ourselves:
+               mThread = new Thread(this);
+               mThread.start();
+       }
+       
+       // Thread is called exactly once.
+       public void run() {
+               listenThread();
+       }
+       
+       /**
+        * Handles communication with the client.
+        * 
+        * In a simple protocol, all Android Sensors class methods are 
+        * received and answered. If necessary, exceptions are thrown
+        * as specified in the Sensors class.
+        */
+    public void listenThread() {
+       double updatesPerSecond;
+        double[] updatesList;
+        int len;
+       
+        try {
+               PrintWriter out = new PrintWriter(mClientSocket.getOutputStream(), true);
+               BufferedReader in = new BufferedReader(
+                                       new InputStreamReader(
+                                       mClientSocket.getInputStream()));
+               String inputLine, outputLine;
+               
+               outputLine = "SensorSimulator";
+               out.println(outputLine);
+               
+               mSensorSimulator.addMessage("Incoming connection opened.");
+               
+       
+               while ((inputLine = in.readLine()) != null) {
+                    //outputLine = kkp.processInput(inputLine);
+                       //////////////////////////////////////////////////////////
+                       if (inputLine.compareTo("getSupportedSensors()") == 0) {
+                               String[] supportedSensors = getSupportedSensors();
+                               out.println("" + supportedSensors.length);
+                               for (int i=0; i<supportedSensors.length; i++) {
+                                       out.println(supportedSensors[i]);
+                               }
+                               
+                       //////////////////////////////////////////////////////////
+                       } else if (inputLine.compareTo("disableSensor()") == 0 ||
+                                       inputLine.compareTo("enableSensor()") == 0) {
+                               boolean enable = (inputLine.compareTo("enableSensor()") == 0);
+                               
+                               inputLine = in.readLine();
+                               // Test which sensor is meant and whether that sensor is supported.
+                               if (inputLine.compareTo(SensorSimulator.ACCELEROMETER) == 0
+                                               && mSensorSimulator.mSupportedAccelerometer.isSelected()) {
+                                       out.println("" + mSensorSimulator.mEnabledAccelerometer.isSelected());
+                                       mSensorSimulator.mEnabledAccelerometer.setSelected(enable);
+                                       mSensorSimulator.mRefreshEmulatorAccelerometerLabel.setText("-");
+                               } else if (inputLine.compareTo(SensorSimulator.MAGNETIC_FIELD) == 0
+                                               && mSensorSimulator.mSupportedMagneticField.isSelected()) {
+                                       out.println("" + mSensorSimulator.mEnabledMagneticField.isSelected());
+                                       mSensorSimulator.mEnabledMagneticField.setSelected(enable);
+                                       mSensorSimulator.mRefreshEmulatorCompassLabel.setText("-");
+                               } else if (inputLine.compareTo(SensorSimulator.ORIENTATION) == 0
+                                               && mSensorSimulator.mSupportedOrientation.isSelected()) {
+                                       out.println("" + mSensorSimulator.mEnabledOrientation.isSelected());
+                                       mSensorSimulator.mEnabledOrientation.setSelected(enable);
+                                       mSensorSimulator.mRefreshEmulatorOrientationLabel.setText("-");
+                               } else if (inputLine.compareTo(SensorSimulator.TEMPERATURE) == 0
+                                               && mSensorSimulator.mSupportedTemperature.isSelected()) {
+                                       out.println("" + mSensorSimulator.mEnabledTemperature.isSelected());
+                                       mSensorSimulator.mEnabledTemperature.setSelected(enable);
+                                       mSensorSimulator.mRefreshEmulatorThermometerLabel.setText("-");
+                               } else {
+                                       // This sensor is not supported
+                                       out.println("throw IllegalArgumentException");
+                               }
+                       //////////////////////////////////////////////////////////
+                       } else if (inputLine.compareTo("getNumSensorValues()") == 0) {
+                       inputLine = in.readLine();
+                               if (inputLine.compareTo(SensorSimulator.ACCELEROMETER) == 0
+                                               && mSensorSimulator.mSupportedAccelerometer.isSelected()) {
+                                       out.println("3");
+                               } else if (inputLine.compareTo(SensorSimulator.MAGNETIC_FIELD) == 0
+                                               && mSensorSimulator.mSupportedMagneticField.isSelected()) {
+                                       out.println("3");
+                               } else if (inputLine.compareTo(SensorSimulator.ORIENTATION) == 0
+                                               && mSensorSimulator.mSupportedOrientation.isSelected()) {
+                                       out.println("3");
+                               } else if (inputLine.compareTo(SensorSimulator.TEMPERATURE) == 0
+                                               && mSensorSimulator.mSupportedTemperature.isSelected()) {
+                                       out.println("1");
+                               } else {
+                                       // This sensor is not supported
+                                       out.println("throw IllegalArgumentException");
+                               }
+                       //////////////////////////////////////////////////////////
+                       } else if (inputLine.compareTo("readSensor()") == 0) {
+                               inputLine = in.readLine();
+                               if (inputLine.compareTo(SensorSimulator.ACCELEROMETER) == 0
+                                               && mSensorSimulator.mSupportedAccelerometer.isSelected()) {
+                                       if (mSensorSimulator.mEnabledAccelerometer.isSelected()) {
+                                               //out.println("3"); // number of data following
+                                               //out.println(mSensorSimulator.mobile.read_accelx);
+                                               //out.println(mSensorSimulator.mobile.read_accely);
+                                               //out.println(mSensorSimulator.mobile.read_accelz);
+                                               
+                                               // For performance reasons, send these commands together
+                                               String sensorData = "3\n"  // number of data following
+                                                       + mSensorSimulator.mobile.read_accelx + "\n" 
+                                                       + mSensorSimulator.mobile.read_accely + "\n" 
+                                                       + mSensorSimulator.mobile.read_accelz; 
+                                               out.println(sensorData);
+                                               mSensorSimulator.updateEmulatorAccelerometerRefresh();
+                                       } else {
+                                               // This sensor is currently disabled
+                                               out.println("throw IllegalStateException");
+                                       }
+                               } else if (inputLine.compareTo(SensorSimulator.MAGNETIC_FIELD) == 0
+                                               && mSensorSimulator.mSupportedMagneticField.isSelected()) {
+                                       if (mSensorSimulator.mEnabledMagneticField.isSelected()) {
+                                               //out.println("3"); // number of data following
+                                               //out.println(mSensorSimulator.mobile.read_compassx);
+                                               //out.println(mSensorSimulator.mobile.read_compassy);
+                                               //out.println(mSensorSimulator.mobile.read_compassz);
+                                               
+                                               // For performance reasons, send these commands together
+                                               String sensorData = "3\n"  // number of data following
+                                                       + mSensorSimulator.mobile.read_compassx + "\n" 
+                                                       + mSensorSimulator.mobile.read_compassy + "\n" 
+                                                       + mSensorSimulator.mobile.read_compassz; 
+                                               out.println(sensorData);
+                                               mSensorSimulator.updateEmulatorCompassRefresh();
+                                       } else {
+                                               // This sensor is currently disabled
+                                               out.println("throw IllegalStateException");
+                                       }
+                               } else if (inputLine.compareTo(SensorSimulator.ORIENTATION) == 0
+                                               && mSensorSimulator.mSupportedOrientation.isSelected()) {
+                                       if (mSensorSimulator.mEnabledOrientation.isSelected()) {
+                                               //out.println("3"); // number of data following
+                                               //out.println(mSensorSimulator.mobile.read_yaw);
+                                               //out.println(mSensorSimulator.mobile.read_pitch);
+                                               //out.println(mSensorSimulator.mobile.read_roll);
+                                               
+                                               // For performance reasons, send these commands together
+                                               String sensorData = "3\n"  // number of data following
+                                                       + mSensorSimulator.mobile.read_yaw + "\n" 
+                                                       + mSensorSimulator.mobile.read_pitch + "\n" 
+                                                       + mSensorSimulator.mobile.read_roll; 
+                                               out.println(sensorData);
+                                               mSensorSimulator.updateEmulatorOrientationRefresh();
+                                       } else {
+                                               // This sensor is currently disabled
+                                               out.println("throw IllegalStateException");
+                                       }
+                               } else if (inputLine.compareTo(SensorSimulator.TEMPERATURE) == 0
+                                               && mSensorSimulator.mSupportedTemperature.isSelected()) {
+                                       if (mSensorSimulator.mEnabledTemperature.isSelected()) {
+                                               //out.println("1"); // number of data following
+                                               //out.println(mSensorSimulator.mobile.read_temperature);
+                                               
+                                               // For performance reasons, send these commands together
+                                               // (yes, we need a fast thermometer)
+                                               String sensorData = "1\n"  // number of data following
+                                                       + mSensorSimulator.mobile.read_temperature; 
+                                               out.println(sensorData);
+                                               mSensorSimulator.updateEmulatorThermometerRefresh();
+                                       } else {
+                                               // This sensor is currently disabled
+                                               out.println("throw IllegalStateException");
+                                       }
+                               } else {
+                                       // This sensor is not supported
+                                       out.println("throw IllegalArgumentException");
+                               }
+                       //////////////////////////////////////////////////////////
+                       } else if (inputLine.compareTo("getSensorUpdateRates()") == 0) {
+                       inputLine = in.readLine();
+                               if (inputLine.compareTo(SensorSimulator.ACCELEROMETER) == 0
+                                               && mSensorSimulator.mSupportedAccelerometer.isSelected()) {
+                                       updatesList = mSensorSimulator.getSafeDoubleList(mSensorSimulator.mUpdateRatesAccelerometerText);
+                                       if (updatesList == null || updatesList.length < 1) {
+                                               out.println("0");
+                                       } else {
+                                               len = updatesList.length;
+                                               out.println("" + len);
+                                               for (int i=0; i<len; i++) {
+                                                       out.println("" + updatesList[i]);
+                                               }
+                                       }
+                               } else if (inputLine.compareTo(SensorSimulator.MAGNETIC_FIELD) == 0
+                                               && mSensorSimulator.mSupportedMagneticField.isSelected()) {
+                                       updatesList = mSensorSimulator.getSafeDoubleList(mSensorSimulator.mUpdateRatesCompassText);
+                                       if (updatesList == null || updatesList.length < 1) {
+                                               out.println("0");
+                                       } else {
+                                               len = updatesList.length;
+                                               out.println("" + len);
+                                               for (int i=0; i<len; i++) {
+                                                       out.println("" + updatesList[i]);
+                                               }
+                                       }
+                               } else if (inputLine.compareTo(SensorSimulator.ORIENTATION) == 0
+                                               && mSensorSimulator.mSupportedOrientation.isSelected()) {
+                                       updatesList = mSensorSimulator.getSafeDoubleList(mSensorSimulator.mUpdateRatesOrientationText);
+                                       if (updatesList == null || updatesList.length < 1) {
+                                               out.println("0");
+                                       } else {
+                                               len = updatesList.length;
+                                               out.println("" + len);
+                                               for (int i=0; i<len; i++) {
+                                                       out.println("" + updatesList[i]);
+                                               }
+                                       }
+                               } else if (inputLine.compareTo(SensorSimulator.TEMPERATURE) == 0
+                                               && mSensorSimulator.mSupportedTemperature.isSelected()) {
+                                       updatesList = mSensorSimulator.getSafeDoubleList(mSensorSimulator.mUpdateRatesThermometerText);
+                                       if (updatesList == null || updatesList.length < 1) {
+                                               out.println("0");
+                                       } else {
+                                               len = updatesList.length;
+                                               out.println("" + len);
+                                               for (int i=0; i<len; i++) {
+                                                       out.println("" + updatesList[i]);
+                                               }
+                                       }
+                               } else {
+                                       // This sensor is not supported
+                                       out.println("throw IllegalArgumentException");
+                               }
+                       //////////////////////////////////////////////////////////
+                       } else if (inputLine.compareTo("getSensorUpdateRate()") == 0) {
+                       inputLine = in.readLine();
+                       if (inputLine.compareTo(SensorSimulator.ACCELEROMETER) == 0
+                                               && mSensorSimulator.mSupportedAccelerometer.isSelected()) {
+                                       if (mSensorSimulator.mEnabledAccelerometer.isSelected()) {
+                                               updatesPerSecond = mSensorSimulator.getSafeDouble(
+                                                               mSensorSimulator.mCurrentUpdateRateAccelerometerText, 0);
+                                               out.println("" + updatesPerSecond);
+                                       } else {
+                                               // This sensor is currently disabled
+                                               out.println("throw IllegalStateException");
+                                       }
+                               } else if (inputLine.compareTo(SensorSimulator.MAGNETIC_FIELD) == 0
+                                               && mSensorSimulator.mSupportedMagneticField.isSelected()) {
+                                       if (mSensorSimulator.mEnabledMagneticField.isSelected()) {
+                                               updatesPerSecond = mSensorSimulator.getSafeDouble(
+                                                               mSensorSimulator.mCurrentUpdateRateCompassText, 0);
+                                               out.println("" + updatesPerSecond);
+                                       } else {
+                                               // This sensor is currently disabled
+                                               out.println("throw IllegalStateException");
+                                       }
+                               } else if (inputLine.compareTo(SensorSimulator.ORIENTATION) == 0
+                                               && mSensorSimulator.mSupportedOrientation.isSelected()) {
+                                       if (mSensorSimulator.mEnabledOrientation.isSelected()) {
+                                               updatesPerSecond = mSensorSimulator.getSafeDouble(
+                                                               mSensorSimulator.mCurrentUpdateRateOrientationText, 0);
+                                               out.println("" + updatesPerSecond);
+                                       } else {
+                                               // This sensor is currently disabled
+                                               out.println("throw IllegalStateException");
+                                       }
+                               } else if (inputLine.compareTo(SensorSimulator.TEMPERATURE) == 0
+                                               && mSensorSimulator.mSupportedTemperature.isSelected()) {
+                                       if (mSensorSimulator.mEnabledTemperature.isSelected()) {
+                                               updatesPerSecond = mSensorSimulator.getSafeDouble(
+                                                               mSensorSimulator.mCurrentUpdateRateThermometerText, 0);
+                                               out.println("" + updatesPerSecond);
+                                       } else {
+                                               // This sensor is currently disabled
+                                               out.println("throw IllegalStateException");
+                                       }
+                               } else {
+                                       // This sensor is not supported
+                                       out.println("throw IllegalArgumentException");
+                               }
+                   //////////////////////////////////////////////////////////
+                       } else if (inputLine.compareTo("setSensorUpdateRate()") == 0) {
+                       inputLine = in.readLine();
+                       if (inputLine.compareTo(SensorSimulator.ACCELEROMETER) == 0
+                                               && mSensorSimulator.mSupportedAccelerometer.isSelected()) {
+                                       out.println("OK");
+                                       inputLine = in.readLine();
+                                       updatesPerSecond = Float.parseFloat(inputLine);
+                                       mSensorSimulator.mCurrentUpdateRateAccelerometerText.setText(inputLine);
+                               } else if (inputLine.compareTo(SensorSimulator.MAGNETIC_FIELD) == 0
+                                               && mSensorSimulator.mSupportedMagneticField.isSelected()) {
+                                       out.println("OK");
+                                       inputLine = in.readLine();
+                                       updatesPerSecond = Float.parseFloat(inputLine);
+                                       mSensorSimulator.mCurrentUpdateRateCompassText.setText(inputLine);
+                               } else if (inputLine.compareTo(SensorSimulator.ORIENTATION) == 0
+                                               && mSensorSimulator.mSupportedOrientation.isSelected()) {
+                                       out.println("OK");
+                                       inputLine = in.readLine();
+                                       updatesPerSecond = Float.parseFloat(inputLine);
+                                       mSensorSimulator.mCurrentUpdateRateOrientationText.setText(inputLine);
+                               } else if (inputLine.compareTo(SensorSimulator.TEMPERATURE) == 0
+                                               && mSensorSimulator.mSupportedTemperature.isSelected()) {
+                                       out.println("OK");
+                                       inputLine = in.readLine();
+                                       updatesPerSecond = Float.parseFloat(inputLine);
+                                       mSensorSimulator.mCurrentUpdateRateThermometerText.setText(inputLine);
+                               } else {
+                                       // This sensor is not supported
+                                       out.println("throw IllegalArgumentException");
+                               }
+                   //////////////////////////////////////////////////////////
+                       } else if (inputLine.compareTo("unsetSensorUpdateRate()") == 0) {
+                       inputLine = in.readLine();
+                       if (inputLine.compareTo(SensorSimulator.ACCELEROMETER) == 0
+                                               && mSensorSimulator.mSupportedAccelerometer.isSelected()) {
+                                       if (mSensorSimulator.mEnabledAccelerometer.isSelected()) {
+                                               out.println("OK");
+                                               mSensorSimulator.mCurrentUpdateRateAccelerometerText.setText(
+                                                               mSensorSimulator.mDefaultUpdateRateAccelerometerText.getText());
+                                       } else {
+                                               // This sensor is currently disabled
+                                               out.println("throw IllegalStateException");
+                                       }
+                               } else if (inputLine.compareTo(SensorSimulator.MAGNETIC_FIELD) == 0
+                                               && mSensorSimulator.mSupportedMagneticField.isSelected()) {
+                                       if (mSensorSimulator.mEnabledMagneticField.isSelected()) {
+                                               out.println("OK");
+                                               mSensorSimulator.mCurrentUpdateRateCompassText.setText(
+                                                               mSensorSimulator.mDefaultUpdateRateCompassText.getText());
+                                       } else {
+                                               // This sensor is currently disabled
+                                               out.println("throw IllegalStateException");
+                                       }
+                               } else if (inputLine.compareTo(SensorSimulator.ORIENTATION) == 0
+                                               && mSensorSimulator.mSupportedOrientation.isSelected()) {
+                                       if (mSensorSimulator.mEnabledOrientation.isSelected()) {
+                                               out.println("OK");
+                                               mSensorSimulator.mCurrentUpdateRateOrientationText.setText(
+                                                               mSensorSimulator.mDefaultUpdateRateOrientationText.getText());
+                                       } else {
+                                               // This sensor is currently disabled
+                                               out.println("throw IllegalStateException");
+                                       }
+                               } else if (inputLine.compareTo(SensorSimulator.TEMPERATURE) == 0
+                                               && mSensorSimulator.mSupportedTemperature.isSelected()) {
+                                       if (mSensorSimulator.mEnabledTemperature.isSelected()) {
+                                               out.println("OK");
+                                               mSensorSimulator.mCurrentUpdateRateThermometerText.setText(
+                                                               mSensorSimulator.mDefaultUpdateRateThermometerText.getText());
+                                       } else {
+                                               // This sensor is currently disabled
+                                               out.println("throw IllegalStateException");
+                                       }
+                               } else {
+                                       // This sensor is not supported
+                                       out.println("throw IllegalArgumentException");
+                               }
+                       //////////////////////////////////////////////////////////
+                           } else {
+                               // ??? The client is violating the protocol.
+                               mSensorSimulator.addMessage("WARNING: Client sent unexpected command: " + inputLine);
+                       }
+                       //outputLine = inputLine;
+                       //mSensorSimulator.yawSlider.setValue(Integer.parseInt(inputLine));
+                    //out.println(outputLine);
+                    //if (outputLine.equals("Bye."))
+                       //break;
+               }
+               out.close();
+               in.close();
+               mClientSocket.close();
+               
+        } catch (IOException e) {
+               if (talking) {
+                       System.err.println("IOException in SensorServerThread.");
+                   // System.exit(1);
+                       try {
+                               if (mClientSocket != null) mClientSocket.close();
+                   } catch (IOException e2) {
+                       System.err.println("Close failed as well.");
+                       // System.exit(1);
+                   }
+               } else {
+                       // everything fine. Our mouth was shut deliberately.
+               }
+        }
+        
+        //  Here we finish program execution and we take ourselves out of the chained list:
+        if (previousThread != null) {
+               previousThread.nextThread = nextThread;
+        }
+        if (nextThread != null) {
+               nextThread.previousThread = previousThread;
+        }
+        mSensorSimulator.addMessage("Incoming connection closed.");
+       
+    }
+
+    public String[] getSupportedSensors() {
+       String[] sensorList = new String[4]; // currently max. 4 possible!
+               int sensorMax = 0;
+               if (mSensorSimulator.mSupportedAccelerometer.isSelected()) {
+                       sensorList[sensorMax] = SensorSimulator.ACCELEROMETER;
+                       sensorMax++;
+               }
+               if (mSensorSimulator.mSupportedMagneticField.isSelected()) {
+                       sensorList[sensorMax] = SensorSimulator.MAGNETIC_FIELD;
+                       sensorMax++;
+               }
+               if (mSensorSimulator.mSupportedOrientation.isSelected()) {
+                       sensorList[sensorMax] = SensorSimulator.ORIENTATION;
+                       sensorMax++;
+               }
+               if (mSensorSimulator.mSupportedTemperature.isSelected()) {
+                       sensorList[sensorMax] = SensorSimulator.TEMPERATURE;
+                       sensorMax++;
+               }
+               String[] returnSensorList = new String[sensorMax];
+               for (int i=0; i<sensorMax; i++)
+                       returnSensorList[i] = sensorList[i];
+               
+               return returnSensorList;
+    }
+    
+    /**
+     * Closes the socket.
+     */
+    public void stop() {
+       // close the socket
+       try {
+               talking = false;
+               mClientSocket.close();
+        } catch (IOException e) {
+            System.err.println("Close failed.");
+            System.exit(1);
+        }
+    }
+}
\ No newline at end of file
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorSimulator.java b/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/test/SensorSimulator.java
new file mode 100644 (file)
index 0000000..ba039d1
--- /dev/null
@@ -0,0 +1,1887 @@
+package com.samsung.linuxplatform.sensor.accelerometer.page.test;
+
+/* 
+ * Copyright (C) 2008 OpenIntents.org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * 09/Apr/08 Dale Thatcher <openintents at dalethatcher dot com>
+ *           Added wii-mote data collection.
+ */
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Window;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.awt.event.WindowEvent;
+import java.awt.event.WindowListener;
+import java.net.InetAddress;
+import java.net.NetworkInterface;
+import java.net.SocketException;
+import java.text.DecimalFormat;
+import java.util.Collections;
+import java.util.Enumeration;
+
+import javax.swing.BorderFactory;
+import javax.swing.BoxLayout;
+import javax.swing.ButtonGroup;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+//import javax.swing.JFrame;
+import javax.swing.JLabel;
+//import javax.swing.JMenuBar;
+import javax.swing.JPanel;
+import javax.swing.JRadioButton;
+import javax.swing.JScrollBar;
+import javax.swing.JScrollPane;
+import javax.swing.JSeparator;
+import javax.swing.JSlider;
+import javax.swing.JSplitPane;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+import javax.swing.SwingConstants;
+import javax.swing.Timer;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+
+/**
+ *  Main class of SensorSimulator.
+ *  
+ *  The SensorSimulator is a Java stand-alone application.
+ *  
+ *  It simulates various sensors. 
+ *  An Android application can connect through 
+ *  TCP/IP with the settings shown to the SensorSimulator
+ *  to simulate accelerometer, compass, orientation sensor,
+ *  and thermometer.
+ *  
+ *  @author Peli
+ */
+@SuppressWarnings("serial")
+public class SensorSimulator extends JPanel
+                                                       implements ActionListener,
+                                                               WindowListener,
+                                                               ChangeListener,
+                                                               ItemListener {
+       
+       //static long serialVersionUID = 1234;
+
+       // Supported sensors:
+       static final String ORIENTATION = "orientation";
+       static final String ACCELEROMETER = "accelerometer";
+       static final String TEMPERATURE = "temperature";
+       static final String MAGNETIC_FIELD = "magnetic field";
+       static final String LIGHT = "light";
+       static final String PROXIMITY = "proximity";
+       static final String TRICORDER = "tricorder";
+       
+       static final String SHOW_ACCELERATION = "show acceleration";
+
+       static final String AVERAGE_ORIENTATION = "average orientation";
+       static final String AVERAGE_ACCELEROMETER = "average accelerometer";
+       static final String AVERAGE_TEMPERATURE = "average temperature";
+       static final String AVERAGE_MAGNETIC_FIELD = "average magnetic field";
+       static final String AVERAGE_LIGHT = "average light";
+       static final String AVERAGE_PROXIMITY = "average proximity";
+       static final String AVERAGE_TRICORDER = "average tricorder";
+       
+       static final String DISABLED = "DISABLED";
+       
+       // Constant giving the unicode value of degrees symbol.
+       final static public String DEGREES = "\u00B0";
+       final static public String MICRO = "\u00b5";
+       final static public String PLUSMINUS = "\u00b1";
+       final static public String SQUARED = "\u00b2"; // superscript two
+       
+       // Simulation delay:
+       int delay;
+    Timer timer;
+    
+    // for measuring updates:
+    int updateSensorCount;
+    long updateSensorTime;
+    int updateEmulatorAccelerometerCount;
+    long updateEmulatorAccelerometerTime;
+    int updateEmulatorCompassCount;
+    long updateEmulatorCompassTime;
+    int updateEmulatorOrientationCount;
+    long updateEmulatorOrientationTime;
+    int updateEmulatorThermometerCount;
+    long updateEmulatorThermometerTime;
+    
+    
+    int mouseMode;
+    static int mouseYawPitch = 1;
+    static int mouseRollPitch = 2;
+    static int mouseMove = 3;
+    
+    // Displays the mobile phone
+    MobilePanel mobile;
+    
+    // Sliders:
+    JSlider yawSlider;
+    JSlider pitchSlider;
+    JSlider rollSlider;
+    
+    // Text fields:
+    JTextField socketText;
+    JButton socketButton;
+    
+    // Field for socket related output:
+    JScrollPane areaScrollPane;
+    JTextArea ipselectionText;
+    
+    // Field for sensor simulator data output:
+    JScrollPane scrollPaneSensorData;
+    JTextArea textAreaSensorData;
+    
+    // Settings
+    // Supported sensors
+    JCheckBox mSupportedOrientation;
+    JCheckBox mSupportedAccelerometer;
+    JCheckBox mSupportedTemperature;
+    JCheckBox mSupportedMagneticField;
+    JCheckBox mSupportedLight;
+    JCheckBox mSupportedProximity;
+    JCheckBox mSupportedTricorder;
+    
+    // Enabled sensors
+    JCheckBox mEnabledOrientation;
+    JCheckBox mEnabledAccelerometer;
+    JCheckBox mEnabledTemperature;
+    JCheckBox mEnabledMagneticField;
+    JCheckBox mEnabledLight;
+    JCheckBox mEnabledProximity;
+    JCheckBox mEnabledTricorder;
+    
+    // Simulation update
+    JTextField mUpdateRatesAccelerometerText;
+    JTextField mDefaultUpdateRateAccelerometerText;
+    JTextField mCurrentUpdateRateAccelerometerText;
+    /** Whether to form an average at each update */
+    JCheckBox mUpdateAverageAccelerometer;
+    
+    JTextField mUpdateRatesCompassText;
+    JTextField mDefaultUpdateRateCompassText;
+    JTextField mCurrentUpdateRateCompassText;
+    /** Whether to form an average at each update */
+    JCheckBox mUpdateAverageCompass;
+    
+    JTextField mUpdateRatesOrientationText;
+    JTextField mDefaultUpdateRateOrientationText;
+    JTextField mCurrentUpdateRateOrientationText;
+    /** Whether to form an average at each update */
+    JCheckBox mUpdateAverageOrientation;
+    
+    JTextField mUpdateRatesThermometerText;
+    JTextField mDefaultUpdateRateThermometerText;
+    JTextField mCurrentUpdateRateThermometerText;
+    /** Whether to form an average at each update */
+    JCheckBox mUpdateAverageThermometer;
+    
+    JTextField mUpdateText;
+    JTextField mRefreshCountText;
+    JLabel mRefreshSensorsLabel;
+    JLabel mRefreshEmulatorAccelerometerLabel;
+    JLabel mRefreshEmulatorCompassLabel;
+    JLabel mRefreshEmulatorOrientationLabel;
+    JLabel mRefreshEmulatorThermometerLabel;
+    
+    // Accelerometer
+    JTextField mGravityConstantText;
+    JTextField mAccelerometerLimitText;
+    JTextField mPixelPerMeterText;
+    JTextField mSpringConstantText;
+    JTextField mDampingConstantText;
+    JCheckBox mShowAcceleration;
+    
+    // Gravity
+    JTextField mGravityXText;
+    JTextField mGravityYText;
+    JTextField mGravityZText;
+    
+    // Magnetic field
+    JTextField mMagneticFieldNorthText;
+    JTextField mMagneticFieldEastText;
+    JTextField mMagneticFieldVerticalText;
+    
+    // Temperature
+    JTextField mTemperatureText;
+    
+    // Random contribution
+    JTextField mRandomOrientationText;
+    JTextField mRandomAccelerometerText;
+    JTextField mRandomTemperatureText;
+    JTextField mRandomMagneticFieldText;
+    JTextField mRandomLightText;
+    JTextField mRandomProximityText;
+    JTextField mRandomTricorderText;
+    
+    // Real device bridge
+    JCheckBox mRealDeviceThinkpad;
+    JCheckBox mRealDeviceWiimote;
+    JTextField mRealDevicePath;
+    JLabel mRealDeviceOutputLabel;
+    
+    // Action Commands:
+    static String yawPitch = "yaw & pitch";
+    static String rollPitch = "roll & pitch";
+    static String move = "move";
+    static String timerAction = "timer";
+    static String setPortString = "set port";
+    
+    // Server for sending out sensor data
+    SensorServer mSensorServer;
+    int mIncomingConnections;
+       
+       public SensorSimulator() {
+               // Initialize variables
+               mIncomingConnections = 0;
+                               
+               //setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
+               setLayout(new BorderLayout());
+
+               ///////////////////////////////////////////////////////////////
+        // Left pane
+        //JPanel leftPane = new JPanel(new BorderLayout());
+               
+        GridBagLayout myGridBagLayout = new GridBagLayout();
+        // myGridLayout.
+        GridBagConstraints c = new GridBagConstraints();
+        JPanel leftPane = new JPanel(myGridBagLayout);
+        
+        JPanel mobilePane = new JPanel(new BorderLayout());
+        
+               // Add the mobile
+        c.fill = GridBagConstraints.HORIZONTAL;
+        c.anchor = GridBagConstraints.NORTHWEST;
+        c.gridx = 0;
+        c.gridy = 0;
+        c.gridwidth = 3;
+        mobile = new MobilePanel(this);
+        mobilePane.add(mobile);
+        
+        leftPane.add(mobilePane, c);
+        
+        // Add mouse action selection
+        // through radio buttons.
+        JRadioButton yawPitchButton = new JRadioButton(yawPitch);
+        //yawTiltButton.setMnemonic(KeyEvent.VK_Y);
+        yawPitchButton.setActionCommand(yawPitch);
+        yawPitchButton.setSelected(true);
+        mouseMode = mouseYawPitch;
+        
+        JRadioButton rollPitchButton = new JRadioButton(rollPitch);
+        rollPitchButton.setActionCommand(rollPitch);
+        
+        JRadioButton moveButton = new JRadioButton(move);
+        moveButton.setActionCommand(move);
+        
+        //Group the radio buttons.
+        ButtonGroup group = new ButtonGroup();
+        group.add(yawPitchButton);
+        group.add(rollPitchButton);
+        group.add(moveButton);
+        
+        //Register a listener for the radio buttons.
+        yawPitchButton.addActionListener(this);
+        rollPitchButton.addActionListener(this);
+        moveButton.addActionListener(this);
+        
+        c.gridx = 0;
+        c.gridy++;
+        c.gridwidth = 1;
+        leftPane.add(yawPitchButton, c);
+        c.gridx++;
+        leftPane.add(rollPitchButton, c);
+        c.gridx++;
+        leftPane.add(moveButton, c);
+        
+        // Add IP address properties:
+        c.gridx = 0;
+        c.gridy++;
+        c.gridwidth = 1;
+        JLabel socketLabel = new JLabel("Socket", JLabel.LEFT);
+        leftPane.add(socketLabel, c);
+        
+        c.gridx = 1;
+        socketText = new JTextField(5);
+        leftPane.add(socketText, c);
+        
+        c.gridx = 2;
+        socketButton = new JButton("Set");
+        leftPane.add(socketButton, c);
+        socketButton.setActionCommand(setPortString);
+        socketButton.addActionListener(this);
+        
+        c.gridx = 0;
+        c.gridy++;
+        c.gridwidth = 3;
+        ipselectionText = new JTextArea(3, 10);
+        //Dimension d = new Dimension();
+        //d.height = 50;
+        //d.width = 200;
+        //ipselectionText.setPreferredSize(d);
+        //ipselectionText.setAutoscrolls(true);
+        
+        areaScrollPane = new JScrollPane(ipselectionText);
+        areaScrollPane.setVerticalScrollBarPolicy(
+                       JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
+        areaScrollPane.setPreferredSize(new Dimension(250, 80));
+        
+        leftPane.add(areaScrollPane, c);
+        
+        
+        c.gridx = 0;
+        c.gridy++;
+        c.gridwidth = 3;
+        textAreaSensorData = new JTextArea(3, 10);
+        scrollPaneSensorData = new JScrollPane(textAreaSensorData);
+        scrollPaneSensorData.setVerticalScrollBarPolicy(
+                       JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
+        scrollPaneSensorData.setPreferredSize(new Dimension(250, 80));
+
+        leftPane.add(scrollPaneSensorData, c);
+        
+        leftPane.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
+
+        ///////////////////////////////////////////////////////////////
+        // Right pane
+        JLabel simulatorLabel = new JLabel("OpenIntents Sensor Simulator", JLabel.CENTER);
+        simulatorLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
+        Font font = new Font("SansSerif", Font.PLAIN, 22);
+        simulatorLabel.setFont(font);
+        //Border border = new Border();
+        //simulatorLabel.setBorder(BorderFactory.createMatteBorder(1, 1, 1, 1, Color.blue));
+        simulatorLabel.setBorder(BorderFactory.createEmptyBorder(5, 5, 20, 5));
+        
+        //Create the label.
+               JLabel yawLabel = new JLabel("Yaw", JLabel.CENTER);
+        yawLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
+        JLabel pitchLabel = new JLabel("Pitch", JLabel.CENTER);
+        pitchLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
+        JLabel rollLabel = new JLabel("Roll", JLabel.CENTER);
+        rollLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
+        
+           //Create the slider.
+        yawSlider = new JSlider(JSlider.HORIZONTAL, -180, 180, -20);
+        pitchSlider = new JSlider(JSlider.HORIZONTAL, -180, 180, -60);
+           rollSlider = new JSlider(JSlider.HORIZONTAL, -180, 180, 0);
+           
+           yawSlider.addChangeListener(this);
+           pitchSlider.addChangeListener(this);
+           rollSlider.addChangeListener(this);
+           mobile.yawDegree = yawSlider.getValue();
+           mobile.pitchDegree = pitchSlider.getValue();
+           mobile.rollDegree = rollSlider.getValue();    
+           mobile.yawSlider = yawSlider;
+           mobile.pitchSlider = pitchSlider;
+           mobile.rollSlider = rollSlider;
+
+               //Turn on labels at major tick marks.
+
+           yawSlider.setBorder(
+                BorderFactory.createEmptyBorder(0,0,10,0));
+           pitchSlider.setBorder(
+                BorderFactory.createEmptyBorder(0,0,10,0));
+
+           rollSlider.setMajorTickSpacing(90);
+           rollSlider.setMinorTickSpacing(10);
+           rollSlider.setPaintTicks(true);
+           rollSlider.setPaintLabels(true);
+           rollSlider.setBorder(
+                BorderFactory.createEmptyBorder(0,0,10,0));
+
+        
+        //GridBagLayout 
+           myGridBagLayout = new GridBagLayout();
+        // myGridLayout.
+        //GridBagConstraints 
+           c = new GridBagConstraints();
+        JPanel rightPane = new JPanel(myGridBagLayout);
+        //JPanel rightPane = new JPanel(new BorderLayout());
+        //rightPane.add(splitPane);
+        
+        //Put everything together.
+        c.fill = GridBagConstraints.HORIZONTAL;
+        c.anchor = GridBagConstraints.NORTHWEST;
+        c.gridwidth = 2;
+        c.gridx = 0;
+        c.gridy = 0;
+        rightPane.add(simulatorLabel, c);
+        c.gridwidth = 1;
+        c.gridx = 0;
+        c.gridy++;
+        rightPane.add(yawLabel, c);
+        c.gridx = 1;
+        rightPane.add(yawSlider, c);
+        c.gridx = 0;
+        c.gridy++;
+        rightPane.add(pitchLabel, c);
+        c.gridx = 1;
+        rightPane.add(pitchSlider, c);
+        c.gridx = 0;
+        c.gridy++;
+        rightPane.add(rollLabel, c);
+        c.gridx = 1;
+        rightPane.add(rollSlider, c);
+        rightPane.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
+
+        // Now add a scrollable panel with more controls:
+        JPanel settingsPane = new JPanel(new GridBagLayout());
+        GridBagConstraints c2 = new GridBagConstraints();
+        
+        JScrollPane settingsScrollPane = new JScrollPane(settingsPane);
+        settingsScrollPane.setVerticalScrollBarPolicy(
+                       JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
+        settingsScrollPane.setPreferredSize(new Dimension(250, 250));
+        
+        JLabel settingsLabel = new JLabel("Settings", JLabel.CENTER);
+        //settingsLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
+        c2.fill = GridBagConstraints.HORIZONTAL;
+        c2.anchor = GridBagConstraints.NORTHWEST;
+        c2.gridwidth = 1;
+        c2.gridx = 0;
+        c2.gridy = 0;
+        settingsPane.add(settingsLabel, c2);
+        
+        JSeparator separator = new JSeparator(SwingConstants.HORIZONTAL);
+        c2.gridy++;
+        settingsPane.add(separator, c2);
+        
+        ///////////////////////////////
+        // Checkbox for 3 sensors
+        JPanel supportedSensorsPane = new JPanel();
+        supportedSensorsPane.setLayout(new BoxLayout(supportedSensorsPane, BoxLayout.PAGE_AXIS));
+                
+        supportedSensorsPane.setBorder(BorderFactory.createCompoundBorder(
+                BorderFactory.createTitledBorder("Supported sensors"),
+                BorderFactory.createEmptyBorder(5,5,5,5)));
+        
+        mSupportedAccelerometer = new JCheckBox(ACCELEROMETER);
+        mSupportedAccelerometer.setSelected(true);
+        mSupportedAccelerometer.addItemListener(this);
+        supportedSensorsPane.add(mSupportedAccelerometer);
+
+        mSupportedMagneticField = new JCheckBox(MAGNETIC_FIELD);
+        mSupportedMagneticField.setSelected(true);
+        mSupportedMagneticField.addItemListener(this);
+        supportedSensorsPane.add(mSupportedMagneticField);
+
+        mSupportedOrientation = new JCheckBox(ORIENTATION);
+        mSupportedOrientation.setSelected(true);
+        mSupportedOrientation.addItemListener(this);
+        supportedSensorsPane.add(mSupportedOrientation);
+
+        mSupportedTemperature = new JCheckBox(TEMPERATURE);
+        mSupportedTemperature.setSelected(false);
+        mSupportedTemperature.addItemListener(this);
+        supportedSensorsPane.add(mSupportedTemperature);
+
+        c2.gridy++;
+        settingsPane.add(supportedSensorsPane,c2);
+
+
+        ///////////////////////////////
+        // Checkbox for 3 sensors
+        JPanel enabledSensorsPane = new JPanel();
+        enabledSensorsPane.setLayout(new BoxLayout(enabledSensorsPane, BoxLayout.PAGE_AXIS));
+                
+        enabledSensorsPane.setBorder(BorderFactory.createCompoundBorder(
+        BorderFactory.createTitledBorder("Enabled sensors"),
+        BorderFactory.createEmptyBorder(5,5,5,5)));
+        
+        mEnabledAccelerometer = new JCheckBox(ACCELEROMETER);
+        mEnabledAccelerometer.setSelected(true);
+        mEnabledAccelerometer.addItemListener(this);
+        enabledSensorsPane.add(mEnabledAccelerometer);
+
+        mEnabledMagneticField = new JCheckBox(MAGNETIC_FIELD);
+        mEnabledMagneticField.setSelected(true);
+        mEnabledMagneticField.addItemListener(this);
+        enabledSensorsPane.add(mEnabledMagneticField);
+
+        mEnabledOrientation = new JCheckBox(ORIENTATION);
+        mEnabledOrientation.setSelected(true);
+        mEnabledOrientation.addItemListener(this);
+        enabledSensorsPane.add(mEnabledOrientation);
+
+        mEnabledTemperature = new JCheckBox(TEMPERATURE);
+        mEnabledTemperature.setSelected(false);
+        mEnabledTemperature.addItemListener(this);
+        enabledSensorsPane.add(mEnabledTemperature);
+
+        c2.gridy++;
+        settingsPane.add(enabledSensorsPane,c2);
+        
+
+        JLabel label;
+        GridBagConstraints c3;
+        
+        ////////////////////////////////
+        // Sensor output update frequency
+        // and measure frequency
+        // Also update connected sensor frequency.
+        JPanel updateFieldPane = new JPanel(new GridBagLayout());
+        c3 = new GridBagConstraints();
+        c3.fill = GridBagConstraints.HORIZONTAL;
+        c3.anchor = GridBagConstraints.NORTHWEST;
+        c3.gridwidth = 3;
+        c3.gridx = 0;
+        c3.gridy = 0;
+        
+        updateFieldPane.setBorder(BorderFactory.createCompoundBorder(
+                BorderFactory.createTitledBorder("Sensor update rate"),
+                BorderFactory.createEmptyBorder(5,5,5,5)));
+        
+        //------------------
+        label = new JLabel("Accelerometer", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateFieldPane.add(label, c3);
+        
+        label = new JLabel("Update rates: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateFieldPane.add(label, c3);
+        
+        mUpdateRatesAccelerometerText = new JTextField(5);
+        mUpdateRatesAccelerometerText.setText("1, 10, 50");
+        c3.gridx = 1;
+        updateFieldPane.add(mUpdateRatesAccelerometerText, c3);
+        
+        label = new JLabel("1/s", JLabel.LEFT);
+        c3.gridx = 2;
+        updateFieldPane.add(label, c3);
+        
+        label = new JLabel("Default rate: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateFieldPane.add(label, c3);
+        
+        mDefaultUpdateRateAccelerometerText = new JTextField(5);
+        mDefaultUpdateRateAccelerometerText.setText("50");
+        c3.gridx = 1;
+        updateFieldPane.add(mDefaultUpdateRateAccelerometerText, c3);
+        
+        label = new JLabel("1/s", JLabel.LEFT);
+        c3.gridx = 2;
+        updateFieldPane.add(label, c3);
+       
+        label = new JLabel("Current rate: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateFieldPane.add(label, c3);
+        
+        mCurrentUpdateRateAccelerometerText = new JTextField(5);
+        mCurrentUpdateRateAccelerometerText.setText("50");
+        c3.gridx = 1;
+        updateFieldPane.add(mCurrentUpdateRateAccelerometerText, c3);
+        
+        label = new JLabel("1/s", JLabel.LEFT);
+        c3.gridx = 2;
+        updateFieldPane.add(label, c3);
+        
+        c3.gridwidth = 3;
+        c3.gridx = 0;
+        c3.gridy++;
+        mUpdateAverageAccelerometer = new JCheckBox(AVERAGE_ACCELEROMETER);
+        mUpdateAverageAccelerometer.setSelected(true);
+        mUpdateAverageAccelerometer.addItemListener(this);
+        updateFieldPane.add(mUpdateAverageAccelerometer, c3);
+        
+        c3.gridy++;
+        updateFieldPane.add(new JSeparator(SwingConstants.HORIZONTAL), c3);
+
+
+        //------------------
+        label = new JLabel("Compass", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateFieldPane.add(label, c3);
+        
+        label = new JLabel("Update rates: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateFieldPane.add(label, c3);
+        
+        mUpdateRatesCompassText = new JTextField(5);
+        mUpdateRatesCompassText.setText("1, 10");
+        c3.gridx = 1;
+        updateFieldPane.add(mUpdateRatesCompassText, c3);
+        
+        label = new JLabel("1/s", JLabel.LEFT);
+        c3.gridx = 2;
+        updateFieldPane.add(label, c3);
+        
+        label = new JLabel("Default rate: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateFieldPane.add(label, c3);
+        
+        mDefaultUpdateRateCompassText = new JTextField(5);
+        mDefaultUpdateRateCompassText.setText("10");
+        c3.gridx = 1;
+        updateFieldPane.add(mDefaultUpdateRateCompassText, c3);
+        
+        label = new JLabel("1/s", JLabel.LEFT);
+        c3.gridx = 2;
+        updateFieldPane.add(label, c3);
+       
+        label = new JLabel("Current rate: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateFieldPane.add(label, c3);
+        
+        mCurrentUpdateRateCompassText = new JTextField(5);
+        mCurrentUpdateRateCompassText.setText("10");
+        c3.gridx = 1;
+        updateFieldPane.add(mCurrentUpdateRateCompassText, c3);
+        
+        label = new JLabel("1/s", JLabel.LEFT);
+        c3.gridx = 2;
+        updateFieldPane.add(label, c3);
+        
+        c3.gridwidth = 3;
+        c3.gridx = 0;
+        c3.gridy++;
+        mUpdateAverageCompass = new JCheckBox(AVERAGE_MAGNETIC_FIELD);
+        mUpdateAverageCompass.setSelected(true);
+        mUpdateAverageCompass.addItemListener(this);
+        updateFieldPane.add(mUpdateAverageCompass, c3);
+
+        c3.gridy++;
+        updateFieldPane.add(new JSeparator(SwingConstants.HORIZONTAL), c3);
+
+      //------------------
+        label = new JLabel("Orientation", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateFieldPane.add(label, c3);
+        
+        label = new JLabel("Update rates: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateFieldPane.add(label, c3);
+        
+        mUpdateRatesOrientationText = new JTextField(5);
+        mUpdateRatesOrientationText.setText("1, 10, 50");
+        c3.gridx = 1;
+        updateFieldPane.add(mUpdateRatesOrientationText, c3);
+        
+        label = new JLabel("1/s", JLabel.LEFT);
+        c3.gridx = 2;
+        updateFieldPane.add(label, c3);
+        
+        label = new JLabel("Default rate: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateFieldPane.add(label, c3);
+        
+        mDefaultUpdateRateOrientationText = new JTextField(5);
+        mDefaultUpdateRateOrientationText.setText("50");
+        c3.gridx = 1;
+        updateFieldPane.add(mDefaultUpdateRateOrientationText, c3);
+        
+        label = new JLabel("1/s", JLabel.LEFT);
+        c3.gridx = 2;
+        updateFieldPane.add(label, c3);
+       
+        label = new JLabel("Current rate: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateFieldPane.add(label, c3);
+        
+        mCurrentUpdateRateOrientationText = new JTextField(5);
+        mCurrentUpdateRateOrientationText.setText("50");
+        c3.gridx = 1;
+        updateFieldPane.add(mCurrentUpdateRateOrientationText, c3);
+        
+        label = new JLabel("1/s", JLabel.LEFT);
+        c3.gridx = 2;
+        updateFieldPane.add(label, c3);
+        
+        c3.gridwidth = 3;
+        c3.gridx = 0;
+        c3.gridy++;
+        mUpdateAverageOrientation = new JCheckBox(AVERAGE_ORIENTATION);
+        mUpdateAverageOrientation.setSelected(true);
+        mUpdateAverageOrientation.addItemListener(this);
+        updateFieldPane.add(mUpdateAverageOrientation, c3);
+
+        c3.gridy++;
+        updateFieldPane.add(new JSeparator(SwingConstants.HORIZONTAL), c3);
+
+      //------------------
+        label = new JLabel("Thermometer", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateFieldPane.add(label, c3);
+        
+        label = new JLabel("Update rates: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateFieldPane.add(label, c3);
+        
+        mUpdateRatesThermometerText = new JTextField(5);
+        mUpdateRatesThermometerText.setText("0.1, 1");
+        c3.gridx = 1;
+        updateFieldPane.add(mUpdateRatesThermometerText, c3);
+        
+        label = new JLabel("1/s", JLabel.LEFT);
+        c3.gridx = 2;
+        updateFieldPane.add(label, c3);
+        
+        label = new JLabel("Default rate: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateFieldPane.add(label, c3);
+        
+        mDefaultUpdateRateThermometerText = new JTextField(5);
+        mDefaultUpdateRateThermometerText.setText("1");
+        c3.gridx = 1;
+        updateFieldPane.add(mDefaultUpdateRateThermometerText, c3);
+        
+        label = new JLabel("1/s", JLabel.LEFT);
+        c3.gridx = 2;
+        updateFieldPane.add(label, c3);
+       
+        label = new JLabel("Current rate: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateFieldPane.add(label, c3);
+        
+        mCurrentUpdateRateThermometerText = new JTextField(5);
+        mCurrentUpdateRateThermometerText.setText("1");
+        c3.gridx = 1;
+        updateFieldPane.add(mCurrentUpdateRateThermometerText, c3);
+        
+        label = new JLabel("1/s", JLabel.LEFT);
+        c3.gridx = 2;
+        updateFieldPane.add(label, c3);
+
+        c3.gridwidth = 3;
+        c3.gridx = 0;
+        c3.gridy++;
+        mUpdateAverageThermometer = new JCheckBox(AVERAGE_TEMPERATURE);
+        mUpdateAverageThermometer.setSelected(true);
+        mUpdateAverageThermometer.addItemListener(this);
+        updateFieldPane.add(mUpdateAverageThermometer, c3);
+
+        // Update panel ends
+        
+        // Add update panel to settings
+        c2.gridx = 0;
+        c2.gridwidth = 1;
+        c2.gridy++;
+        settingsPane.add(updateFieldPane, c2);
+
+        ////////////////////////////////
+        // Sensor output update frequency
+        // and measure frequency
+        // Also update connected sensor frequency.
+        JPanel updateSimulationFieldPane = new JPanel(new GridBagLayout());
+        c3 = new GridBagConstraints();
+        c3.fill = GridBagConstraints.HORIZONTAL;
+        c3.anchor = GridBagConstraints.NORTHWEST;
+        c3.gridwidth = 3;
+        c3.gridx = 0;
+        c3.gridy = 0;
+        
+        updateSimulationFieldPane.setBorder(
+                       BorderFactory.createCompoundBorder(
+                BorderFactory.createTitledBorder("Simulation update"),
+                BorderFactory.createEmptyBorder(5,5,5,5)));
+        
+        
+        // ---------------------
+        label = new JLabel("Update sensors: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateSimulationFieldPane.add(label, c3);
+        
+        mUpdateText = new JTextField(5);
+        mUpdateText.setText("10");
+        c3.gridx = 1;
+        updateSimulationFieldPane.add(mUpdateText, c3);
+        
+        label = new JLabel(" ms", JLabel.LEFT);
+        c3.gridx = 2;
+        updateSimulationFieldPane.add(label, c3);
+        
+        label = new JLabel("Refresh after: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateSimulationFieldPane.add(label, c3);
+        
+        mRefreshCountText = new JTextField(5);
+        mRefreshCountText.setText("10");
+        c3.gridx = 1;
+        updateSimulationFieldPane.add(mRefreshCountText, c3);
+        
+        label = new JLabel(" times", JLabel.LEFT);
+        c3.gridx = 2;
+        updateSimulationFieldPane.add(label, c3);
+        
+        label = new JLabel("Sensor update: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateSimulationFieldPane.add(label, c3);
+        
+        mRefreshSensorsLabel = new JLabel("0", JLabel.LEFT);
+        c3.gridx = 1;
+        updateSimulationFieldPane.add(mRefreshSensorsLabel, c3);
+        
+        label = new JLabel("Emulator update: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateSimulationFieldPane.add(label, c3);
+        
+
+        label = new JLabel(" * Accelerometer: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateSimulationFieldPane.add(label, c3);
+        
+        mRefreshEmulatorAccelerometerLabel = new JLabel("-", JLabel.LEFT);
+        c3.gridx = 1;
+        updateSimulationFieldPane.add(mRefreshEmulatorAccelerometerLabel, c3);
+
+
+        label = new JLabel(" * Compass: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateSimulationFieldPane.add(label, c3);
+        
+        mRefreshEmulatorCompassLabel = new JLabel("-", JLabel.LEFT);
+        c3.gridx = 1;
+        updateSimulationFieldPane.add(mRefreshEmulatorCompassLabel, c3);
+
+
+        label = new JLabel(" * Orientation: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateSimulationFieldPane.add(label, c3);
+        
+        mRefreshEmulatorOrientationLabel = new JLabel("-", JLabel.LEFT);
+        c3.gridx = 1;
+        updateSimulationFieldPane.add(mRefreshEmulatorOrientationLabel, c3);
+
+
+        label = new JLabel(" * Thermometer: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        updateSimulationFieldPane.add(label, c3);
+        
+        mRefreshEmulatorThermometerLabel = new JLabel("-", JLabel.LEFT);
+        c3.gridx = 1;
+        updateSimulationFieldPane.add(mRefreshEmulatorThermometerLabel, c3);
+
+        // Update panel ends
+        
+        // Add update panel to settings
+        c2.gridx = 0;
+        c2.gridwidth = 1;
+        c2.gridy++;
+        settingsPane.add(updateSimulationFieldPane, c2);
+        
+        ////////////////////////////////
+        // Acceleration / accelerometer settings:
+        // * how much screen movement translates to
+        //   real world acceleration
+        // * smoothing of action(?)
+        JPanel accelerometerFieldPane = new JPanel(new GridBagLayout());
+        c3 = new GridBagConstraints();
+        c3.fill = GridBagConstraints.HORIZONTAL;
+        c3.anchor = GridBagConstraints.NORTHWEST;
+        c3.gridwidth = 3;
+        c3.gridx = 0;
+        c3.gridy = 0;
+        
+        accelerometerFieldPane.setBorder(BorderFactory.createCompoundBorder(
+                BorderFactory.createTitledBorder("Accelerometer"),
+                BorderFactory.createEmptyBorder(5,5,5,5)));
+        
+        label = new JLabel("Gravity constant g: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        accelerometerFieldPane.add(label, c3);
+        
+        mGravityConstantText = new JTextField(5);
+        mGravityConstantText.setText("9.80665");
+        c3.gridx = 1;
+        accelerometerFieldPane.add(mGravityConstantText, c3);
+        
+        label = new JLabel(" m/s" + SQUARED, JLabel.LEFT);
+        c3.gridx = 2;
+        accelerometerFieldPane.add(label, c3);
+        
+
+        label = new JLabel("Accelerometer limit: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        accelerometerFieldPane.add(label, c3);
+        
+        mAccelerometerLimitText = new JTextField(5);
+        mAccelerometerLimitText.setText("10");
+        c3.gridx = 1;
+        accelerometerFieldPane.add(mAccelerometerLimitText, c3);
+        
+        label = new JLabel(" g", JLabel.LEFT);
+        c3.gridx = 2;
+        accelerometerFieldPane.add(label, c3);
+        
+        
+        label = new JLabel("Pixels per meter: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        accelerometerFieldPane.add(label, c3);
+        
+        mPixelPerMeterText = new JTextField(5);
+        mPixelPerMeterText.setText("3000");
+        c3.gridx = 1;
+        accelerometerFieldPane.add(mPixelPerMeterText, c3);
+        
+        label = new JLabel(" p/m", JLabel.LEFT);
+        c3.gridx = 2;
+        accelerometerFieldPane.add(label, c3);
+        
+        
+        label = new JLabel("Spring constant (k/m) ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        accelerometerFieldPane.add(label, c3);
+        
+        mSpringConstantText = new JTextField(5);
+        mSpringConstantText.setText("500");
+        c3.gridx = 1;
+        accelerometerFieldPane.add(mSpringConstantText, c3);
+        
+        label = new JLabel(" p/s" + SQUARED, JLabel.LEFT);
+        c3.gridx = 2;
+        accelerometerFieldPane.add(label, c3);
+        
+        
+        label = new JLabel("Damping constant: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        accelerometerFieldPane.add(label, c3);
+        
+        mDampingConstantText = new JTextField(5);
+        mDampingConstantText.setText("50");
+        c3.gridx = 1;
+        accelerometerFieldPane.add(mDampingConstantText, c3);
+        
+        label = new JLabel(" p/s", JLabel.LEFT);
+        c3.gridx = 2;
+        accelerometerFieldPane.add(label, c3);
+        
+        c3.gridwidth = 3;
+        c3.gridx = 0;
+        c3.gridy++;
+        mShowAcceleration = new JCheckBox(SHOW_ACCELERATION);
+        mShowAcceleration.setSelected(false);
+        mShowAcceleration.addItemListener(this);
+        accelerometerFieldPane.add(mShowAcceleration, c3);
+
+        // Accelerometer field panel ends
+        
+        // Add accelerometer field panel to settings
+        c2.gridx = 0;
+        c2.gridwidth = 1;
+        c2.gridy++;
+        settingsPane.add(accelerometerFieldPane, c2);
+        
+        
+        ////////////////////////////////
+        // Gravity (in g = m/s^2)
+        JPanel gravityFieldPane = new JPanel(new GridBagLayout());
+        c3 = new GridBagConstraints();
+        c3.fill = GridBagConstraints.HORIZONTAL;
+        c3.anchor = GridBagConstraints.NORTHWEST;
+        c3.gridwidth = 3;
+        c3.gridx = 0;
+        c3.gridy = 0;
+        
+        gravityFieldPane.setBorder(BorderFactory.createCompoundBorder(
+                BorderFactory.createTitledBorder("Gravity"),
+                BorderFactory.createEmptyBorder(5,5,5,5)));
+        
+        label = new JLabel("x: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        gravityFieldPane.add(label, c3);
+        
+        mGravityXText = new JTextField(5);
+        mGravityXText.setText("0");
+        c3.gridx = 1;
+        gravityFieldPane.add(mGravityXText, c3);
+        
+        label = new JLabel(" m/s" + SQUARED, JLabel.LEFT);
+        c3.gridx = 2;
+        gravityFieldPane.add(label, c3);
+        
+        
+        label = new JLabel("y: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        gravityFieldPane.add(label, c3);
+        
+        mGravityYText = new JTextField(5);
+        mGravityYText.setText("0");
+        c3.gridx = 1;
+        gravityFieldPane.add(mGravityYText, c3);
+        
+        label = new JLabel(" m/s" + SQUARED, JLabel.LEFT);
+        c3.gridx = 2;
+        gravityFieldPane.add(label, c3);
+        
+        label = new JLabel("z: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        gravityFieldPane.add(label, c3);
+        
+        mGravityZText = new JTextField(5);
+        mGravityZText.setText("-9.80665");
+        c3.gridx = 1;
+        gravityFieldPane.add(mGravityZText, c3);
+        
+        label = new JLabel(" m/s" + SQUARED, JLabel.LEFT);
+        c3.gridx = 2;
+        gravityFieldPane.add(label, c3);
+        
+        // Gravity field panel ends
+        
+        // Add gravity field panel to settings
+        c2.gridx = 0;
+        c2.gridwidth = 1;
+        c2.gridy++;
+        settingsPane.add(gravityFieldPane, c2);
+        
+        
+        ////////////////////////////////
+        // Magnetic field (in nanoTesla)
+        
+        // Values can be found at
+        // 
+        // Default values are for San Francisco.
+        
+        JPanel magneticFieldPane = new JPanel(new GridBagLayout());
+        c3 = new GridBagConstraints();
+        c3.fill = GridBagConstraints.HORIZONTAL;
+        c3.anchor = GridBagConstraints.NORTHWEST;
+        c3.gridwidth = 3;
+        c3.gridx = 0;
+        c3.gridy = 0;
+        
+        magneticFieldPane.setBorder(BorderFactory.createCompoundBorder(
+                BorderFactory.createTitledBorder("Magnetic field"),
+                BorderFactory.createEmptyBorder(5,5,5,5)));
+        
+        JLabel magneticFieldNorthLabel = new JLabel("North component: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        magneticFieldPane.add(magneticFieldNorthLabel, c3);
+        
+        mMagneticFieldNorthText = new JTextField(5);
+        mMagneticFieldNorthText.setText("22874.1");
+        c3.gridx = 1;
+        magneticFieldPane.add(mMagneticFieldNorthText, c3);
+        
+        JLabel nanoTeslaLabel = new JLabel(" nT", JLabel.LEFT);
+        c3.gridx = 2;
+        magneticFieldPane.add(nanoTeslaLabel, c3);
+        
+        
+        JLabel magneticFieldEastLabel = new JLabel("East component: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        magneticFieldPane.add(magneticFieldEastLabel, c3);
+        
+        mMagneticFieldEastText = new JTextField(5);
+        mMagneticFieldEastText.setText("5939.5");
+        c3.gridx = 1;
+        magneticFieldPane.add(mMagneticFieldEastText, c3);
+        
+        nanoTeslaLabel = new JLabel(" nT", JLabel.LEFT);
+        c3.gridx = 2;
+        magneticFieldPane.add(nanoTeslaLabel, c3);
+        
+        JLabel magneticFieldVerticalLabel = new JLabel("Vertical component: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        magneticFieldPane.add(magneticFieldVerticalLabel, c3);
+        
+        mMagneticFieldVerticalText = new JTextField(5);
+        mMagneticFieldVerticalText.setText("43180.5");
+        c3.gridx = 1;
+        magneticFieldPane.add(mMagneticFieldVerticalText, c3);
+        
+        label = new JLabel(" nT", JLabel.LEFT);
+        c3.gridx = 2;
+        magneticFieldPane.add(label, c3);
+        
+        // Magnetic field panel ends
+        
+        // Add magnetic field panel to settings
+        c2.gridx = 0;
+        c2.gridwidth = 1;
+        c2.gridy++;
+        settingsPane.add(magneticFieldPane, c2);
+
+
+        ////////////////////////////////
+        // Temperature (in �C: Centigrade Celsius)
+        JPanel temperatureFieldPane = new JPanel(new GridBagLayout());
+        c3 = new GridBagConstraints();
+        c3.fill = GridBagConstraints.HORIZONTAL;
+        c3.anchor = GridBagConstraints.NORTHWEST;
+        c3.gridwidth = 3;
+        c3.gridx = 0;
+        c3.gridy = 0;
+        
+        temperatureFieldPane.setBorder(BorderFactory.createCompoundBorder(
+                BorderFactory.createTitledBorder("Temperature"),
+                BorderFactory.createEmptyBorder(5,5,5,5)));
+        
+        label = new JLabel("Temperature: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        temperatureFieldPane.add(label, c3);
+        
+        mTemperatureText = new JTextField(5);
+        mTemperatureText.setText("17.7");
+        c3.gridx = 1;
+        temperatureFieldPane.add(mTemperatureText, c3);
+        
+        label = new JLabel(" " + DEGREES + "C", JLabel.LEFT);
+        c3.gridx = 2;
+        temperatureFieldPane.add(label, c3);
+        
+        
+        // Temperature panel ends
+        
+        // Add temperature panel to settings
+        c2.gridx = 0;
+        c2.gridwidth = 1;
+        c2.gridy++;
+        settingsPane.add(temperatureFieldPane, c2);
+
+        ///////////////////////////////
+        // Random contribution to sensor values
+
+        JPanel randomFieldPane = new JPanel(new GridBagLayout());
+        c3 = new GridBagConstraints();
+        c3.fill = GridBagConstraints.HORIZONTAL;
+        c3.anchor = GridBagConstraints.NORTHWEST;
+        c3.gridwidth = 3;
+        c3.gridx = 0;
+        c3.gridy = 0;
+        
+        randomFieldPane.setBorder(BorderFactory.createCompoundBorder(
+                BorderFactory.createTitledBorder("Random component"),
+                BorderFactory.createEmptyBorder(5,5,5,5)));
+        
+        label = new JLabel("Accelerometer: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        randomFieldPane.add(label, c3);
+        
+        mRandomAccelerometerText = new JTextField(5);
+        mRandomAccelerometerText.setText("0");
+        c3.gridx = 1;
+        randomFieldPane.add(mRandomAccelerometerText, c3);
+        
+        label= new JLabel(" m/s" + SQUARED, JLabel.LEFT);
+        c3.gridx = 2;
+        randomFieldPane.add(label, c3);
+        
+        
+        label = new JLabel("Compass: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        randomFieldPane.add(label, c3);
+        
+        mRandomMagneticFieldText = new JTextField(5);
+        mRandomMagneticFieldText.setText("0");
+        c3.gridx = 1;
+        randomFieldPane.add(mRandomMagneticFieldText, c3);
+        
+        label = new JLabel(" nT", JLabel.LEFT);
+        c3.gridx = 2;
+        randomFieldPane.add(label, c3);
+        
+        label = new JLabel("Orientation: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        randomFieldPane.add(label, c3);
+        
+        mRandomOrientationText = new JTextField(5);
+        mRandomOrientationText.setText("0");
+        c3.gridx = 1;
+        randomFieldPane.add(mRandomOrientationText, c3);
+        
+        label = new JLabel(" " + DEGREES, JLabel.LEFT);
+        c3.gridx = 2;
+        randomFieldPane.add(label, c3);
+        
+        label = new JLabel("Temperature: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        randomFieldPane.add(label, c3);
+        
+        mRandomTemperatureText = new JTextField(5);
+        mRandomTemperatureText.setText("0");
+        c3.gridx = 1;
+        randomFieldPane.add(mRandomTemperatureText, c3);
+        
+        label = new JLabel(" " + DEGREES + "C", JLabel.LEFT);
+        c3.gridx = 2;
+        randomFieldPane.add(label, c3);
+        
+        // Random field panel ends
+        
+        // Add random field panel to settings
+        c2.gridx = 0;
+        c2.gridwidth = 1;
+        c2.gridy++;
+        settingsPane.add(randomFieldPane, c2);
+        
+        /////////////////////////////////////////////////////
+
+
+        ///////////////////////////////
+        // Real sensor bridge
+
+        JPanel realSensorBridgeFieldPane = new JPanel(new GridBagLayout());
+        c3 = new GridBagConstraints();
+        c3.fill = GridBagConstraints.HORIZONTAL;
+        c3.anchor = GridBagConstraints.NORTHWEST;
+        c3.gridwidth = 3;
+        c3.gridx = 0;
+        c3.gridy = 0;
+        
+        realSensorBridgeFieldPane.setBorder(BorderFactory.createCompoundBorder(
+                BorderFactory.createTitledBorder("Real sensor bridge"),
+                BorderFactory.createEmptyBorder(5,5,5,5)));
+        
+        mRealDeviceThinkpad = new JCheckBox("Use Thinkpad accelerometer");
+        mRealDeviceThinkpad.setSelected(false);
+        mRealDeviceThinkpad.addItemListener(this);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        realSensorBridgeFieldPane.add(mRealDeviceThinkpad, c3);
+        
+        mRealDeviceWiimote = new JCheckBox("Use Wii-mote accelerometer");
+        mRealDeviceWiimote.setSelected(false);
+        mRealDeviceWiimote.addItemListener(this);
+        c3.gridy++;
+        realSensorBridgeFieldPane.add(mRealDeviceWiimote, c3);
+        
+        /*
+        label = new JLabel("Path: ", JLabel.LEFT);
+        c3.gridwidth = 1;
+        c3.gridx = 0;
+        c3.gridy++;
+        realSensorBridgeFieldPane.add(label, c3);
+        */
+        
+        mRealDevicePath = new JTextField(20);
+        mRealDevicePath.setText("/sys/devices/platform/hdaps/position");
+        //mRealDeviceThinkpadPath.setText("C:\\temp\\position.txt");
+        c3.gridx = 0;
+        c3.gridy++;
+        realSensorBridgeFieldPane.add(mRealDevicePath, c3);
+        
+        mRealDeviceOutputLabel = new JLabel("-", JLabel.LEFT);
+        c3.gridx = 0;
+        c3.gridy++;
+        realSensorBridgeFieldPane.add(mRealDeviceOutputLabel, c3);
+
+        // Real sensor bridge ends
+        
+        // Add real sensor bridge field panel to settings
+        c2.gridx = 0;
+        c2.gridwidth = 1;
+        c2.gridy++;
+        settingsPane.add(realSensorBridgeFieldPane, c2);
+        
+        
+        /////////////////////////////////////////////////////
+
+        /////////////////////////////////////////////////////
+        // Add settings scroll panel to right pane.
+        c.gridx = 0;
+        c.gridwidth = 2;
+        c.gridy++;
+        rightPane.add(settingsScrollPane, c);
+        
+        // We put both into a Split pane:
+        //Create a split pane with the two scroll panes in it.
+        JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
+                                   leftPane, rightPane);
+        //splitPane.setOneTouchExpandable(true);
+        splitPane.setDividerLocation(271);
+        
+        //Provide minimum sizes for the two components in the split pane
+        //Dimension minimumSize = new Dimension(260, 50);
+        //leftPane.setMinimumSize(minimumSize);
+        //rightPane.setMinimumSize(minimumSize);
+
+        add(splitPane, BorderLayout.CENTER);
+        
+        // Add left and right pane.
+        //add(leftPane, BorderLayout.WEST);
+        //add(rightPane, BorderLayout.EAST);
+        
+        
+        
+        // Fill the possible values
+        
+        socketText.setText("8010");
+        
+        ipselectionText.append("Possible IP addresses:\n");
+        try {
+               Enumeration<NetworkInterface> nets = NetworkInterface.getNetworkInterfaces();
+               for (NetworkInterface netint : Collections.list(nets)) {
+                   //out.printf("Display name: %s\n", netint.getDisplayName());
+                   //ipselectionText.append("Name: " + netint.getName() + "\n");
+                   //out.printf("Name: %s\n", netint.getName());
+                   Enumeration<InetAddress> inetAddresses = netint.getInetAddresses();
+                   for (InetAddress inetAddress : Collections.list(inetAddresses)) {
+                       //out.printf("InetAddress: %s\n", inetAddress);
+                       if (("" + inetAddress).compareTo("/127.0.0.1") != 0) {
+                               ipselectionText.append("" + inetAddress + "\n");
+                       }
+                       //ipselectionText.append("IP address: " + inetAddress + "\n");
+                       }
+                   //out.printf("\n");
+       
+               }
+        } catch (SocketException e) {
+               ipselectionText.append("Socket exception. Could not obtain IP addresses.");
+        }
+
+        
+        
+        // Set up the server:
+        mSensorServer = new SensorServer(this);
+        
+
+               // Variables for timing:
+               updateSensorCount = 0;
+           updateSensorTime = System.currentTimeMillis();
+           updateEmulatorAccelerometerCount = 0;
+           updateEmulatorAccelerometerTime = System.currentTimeMillis();
+
+        //Set up a timer that calls this object's action handler.
+        delay = 500;
+        timer = new Timer(delay, new ActionListener() {
+            public void actionPerformed(ActionEvent evt) {
+                SensorSimulator.this.actionPerformed(new ActionEvent(evt.getSource(), evt.getID(), timerAction));
+            }
+        });
+        //timer.setInitialDelay(delay * 7); //We pause animation twice per cycle
+                                          //by restarting the timer
+        timer.setCoalesce(true);
+        
+        timer.start();
+        
+       }
+       
+
+    /** Add a listener for window events. */
+    void addWindowListener(Window w) {
+        w.addWindowListener(this);
+    }
+
+
+    //React to window events.
+    public void windowIconified(WindowEvent e) {
+        timer.stop();
+    }
+    public void windowDeiconified(WindowEvent e) {
+        timer.start();
+    }
+    public void windowOpened(WindowEvent e) {}
+    public void windowClosing(WindowEvent e) {}
+    public void windowClosed(WindowEvent e) {}
+    public void windowActivated(WindowEvent e) {}
+    public void windowDeactivated(WindowEvent e) {}
+    
+    
+    /** Listen to the slider. */
+    public void stateChanged(ChangeEvent e) {
+        JSlider source = (JSlider)e.getSource();
+        if (source == yawSlider) {
+               mobile.yawDegree = source.getValue();
+               mobile.repaint();       
+        } else if (source == pitchSlider) {
+               mobile.pitchDegree = source.getValue();
+               mobile.repaint();
+        } else if (source == rollSlider) {
+               mobile.rollDegree = source.getValue();
+               mobile.repaint();
+        }
+       
+       //if (!source.getValueIsAdjusting()) {
+        //}
+    }
+    
+    
+    // Listener for checkbox events:
+    // currently we don't have to do anything here...
+    public void itemStateChanged(ItemEvent e) {
+        Object source = e.getItemSelectable();
+        /*
+        if (source == mSupportedAccelerometer) {
+               
+        } else if (source == mSupportedCompass) {
+            
+        }
+
+        if (e.getStateChange() == ItemEvent.DESELECTED)
+        
+        */
+        
+        // Don't allow the thinkpad and wiimote to be selected at the same time
+        if (source == mRealDeviceThinkpad && e.getStateChange() == ItemEvent.SELECTED) {
+               mRealDeviceWiimote.setSelected(false);
+        }
+        else if (source == mRealDeviceWiimote && e.getStateChange() == ItemEvent.SELECTED) {
+               mRealDeviceThinkpad.setSelected(false);
+        }
+        
+        if (source == mShowAcceleration) {
+               // Refresh the screen when this drawing element
+               // changes
+               mobile.repaint();
+        }
+    }
+    
+
+
+    //Called when the Timer fires, or selection is done
+    public void actionPerformed(ActionEvent e) {
+        String action = e.getActionCommand();
+        
+        if (action.equals(yawPitch)) {
+               mouseMode = mouseYawPitch;
+        } else if (action.equals(rollPitch)) {
+               mouseMode = mouseRollPitch;
+        } else if (action.equals(move)) {
+               mouseMode = mouseMove;
+        } else if (action.equals(timerAction)) {
+               doTimer();
+        } else if (action.equals(setPortString)) {
+               setPort();
+        }
+    }
+    
+    public void doTimer() {
+       // Update sensors:
+       mobile.updateSensorPhysics();
+       
+       mobile.updateSensorReadoutValues();
+       
+       mobile.updateUserSettings();
+       
+       // Measure refresh
+       updateSensorRefresh();
+       
+       // Now show updated data:
+       showSensorData();
+    }
+    
+    /**
+     * Updates the information about sensor updates.
+     */
+    public void updateSensorRefresh() {
+       updateSensorCount++;
+       long maxcount = (long) getSafeDouble(mRefreshCountText);
+               if (maxcount >= 0 && updateSensorCount >= maxcount) {
+                       long newtime = System.currentTimeMillis();
+                       double ms = (double) (newtime - updateSensorTime) 
+                                               / ((double) maxcount);
+                       
+                       DecimalFormat mf = new DecimalFormat("#0.0");
+                       
+                       mRefreshSensorsLabel.setText(mf.format(ms) + " ms");
+                       
+                       updateSensorCount = 0;
+                       updateSensorTime = newtime;
+               }
+    }
+    
+    /**
+     * Updates information about emulator updates.
+     */
+    public void updateEmulatorAccelerometerRefresh() {
+           updateEmulatorAccelerometerCount++;
+       long maxcount = (long) getSafeDouble(mRefreshCountText);
+       if (maxcount >= 0 && updateEmulatorAccelerometerCount >= maxcount) {
+                       long newtime = System.currentTimeMillis();
+                       double ms = (double) (newtime - updateEmulatorAccelerometerTime) 
+                                               / ((double) maxcount);
+                       
+                       DecimalFormat mf = new DecimalFormat("#0.0");
+                       
+                       mRefreshEmulatorAccelerometerLabel.setText(mf.format(ms) + " ms");
+                       
+                       updateEmulatorAccelerometerCount = 0;
+                       updateEmulatorAccelerometerTime = newtime;
+               }
+    }
+    
+    public void updateEmulatorCompassRefresh() {
+           updateEmulatorCompassCount++;
+       long maxcount = (long) getSafeDouble(mRefreshCountText);
+               if (maxcount >= 0 && updateEmulatorCompassCount >= maxcount) {
+                       long newtime = System.currentTimeMillis();
+                       double ms = (double) (newtime - updateEmulatorCompassTime) 
+                                               / ((double) maxcount);
+                       
+                       DecimalFormat mf = new DecimalFormat("#0.0");
+                       
+                       mRefreshEmulatorCompassLabel.setText(mf.format(ms) + " ms");
+                       
+                       updateEmulatorCompassCount = 0;
+                       updateEmulatorCompassTime = newtime;
+               }
+    }
+    public void updateEmulatorOrientationRefresh() {
+           updateEmulatorOrientationCount++;
+       long maxcount = (long) getSafeDouble(mRefreshCountText);
+               if (maxcount >= 0 && updateEmulatorOrientationCount >= maxcount) {
+                       long newtime = System.currentTimeMillis();
+                       double ms = (double) (newtime - updateEmulatorOrientationTime) 
+                                               / ((double) maxcount);
+                       
+                       DecimalFormat mf = new DecimalFormat("#0.0");
+                       
+                       mRefreshEmulatorOrientationLabel.setText(mf.format(ms) + " ms");
+                       
+                       updateEmulatorOrientationCount = 0;
+                       updateEmulatorOrientationTime = newtime;
+               }
+    }
+    
+    public void updateEmulatorThermometerRefresh() {
+           updateEmulatorAccelerometerCount++;
+       long maxcount = (long) getSafeDouble(mRefreshCountText);
+               if (maxcount >= 0 && updateEmulatorThermometerCount >= maxcount) {
+                       long newtime = System.currentTimeMillis();
+                       double ms = (double) (newtime - updateEmulatorThermometerTime) 
+                                               / ((double) maxcount);
+                       
+                       DecimalFormat mf = new DecimalFormat("#0.0");
+                       
+                       mRefreshEmulatorThermometerLabel.setText(mf.format(ms) + " ms");
+                       
+                       updateEmulatorThermometerCount = 0;
+                       updateEmulatorThermometerTime = newtime;
+               }
+    }
+    
+    public void showSensorData() {
+       DecimalFormat mf = new DecimalFormat("#0.00");
+               
+       String data = "";
+       // Accelerometer data
+       if (mSupportedAccelerometer.isSelected()) {
+               data += ACCELEROMETER + ": ";
+               if (mEnabledAccelerometer.isSelected()) {
+                               data += mf.format(mobile.read_accelx) + ", " 
+                                               + mf.format(mobile.read_accely) + ", "
+                                               + mf.format(mobile.read_accelz);
+               } else {
+                               data += DISABLED;
+               }
+                       data += "\n";
+       }
+               
+       if (mSupportedMagneticField.isSelected()) {
+           // Compass data
+                       data += MAGNETIC_FIELD + ": ";
+                       if (mEnabledMagneticField.isSelected()) {
+                               data += mf.format(mobile.read_compassx) + ", " 
+                                               + mf.format(mobile.read_compassy) + ", "
+                                               + mf.format(mobile.read_compassz);
+                       } else {
+                               data += DISABLED;
+                       }
+                       data += "\n";
+       }
+       
+               if (mSupportedOrientation.isSelected()) {
+                   // Orientation data
+                       data += ORIENTATION + ": ";
+                       if (mEnabledOrientation.isSelected()) {
+                               data += mf.format(mobile.read_yaw) + ", " 
+                                               + mf.format(mobile.read_pitch) + ", "
+                                               + mf.format(mobile.read_roll);
+                       } else {
+                               data += DISABLED;
+                       }
+                       data += "\n";
+               }
+               
+               if (mSupportedTemperature.isSelected()) {
+                       data += TEMPERATURE + ": ";
+                       if (mEnabledTemperature.isSelected()) {
+                               data += mf.format(mobile.read_temperature);
+                       } else {
+                               data += DISABLED;
+                       }
+                       data += "\n";
+               }
+               // Output to textArea:
+               textAreaSensorData.setText(data);
+    }
+    
+    /**
+     * Sets the socket port for listening
+     */
+    public void setPort() {
+       addMessage("Closing port " + mSensorServer.port);
+       // First close all old ports:
+       mSensorServer.stop();
+       
+       // now restart
+       mSensorServer = new SensorServer(this);
+    }
+    
+    /**
+     * Adds new message to message box.
+     * If scroll position is at end, it will scroll to new message.
+     * @param msg Message.
+     */
+    public void addMessage(String msg) {
+       
+       // from: http://forum.java.sun.com/thread.jspa?threadID=544890&tstart=0
+       // The following code fragments demonstrate how to auto scroll a JTextArea ("area") that's wrapped in a JScrollPane ("scrollPane"). Auto scrolling is enabled whenever the vertical scrollbar is located at the very bottom of the area. This allows you to scroll back up at leisure (disabling auto scroll) and then drag the vertical scrollbar back to the bottom to re-enable auto scroll:
+
+       // Determine whether the scrollbar is currently at the very bottom position.
+       JScrollBar vbar = areaScrollPane.getVerticalScrollBar();
+       final int tolerance = 10; // some tolerance value
+       boolean autoScroll = ((vbar.getValue() + vbar.getVisibleAmount() + tolerance) >= vbar.getMaximum());
+
+       // append to the JTextArea (that's wrapped in a JScrollPane named 'scrollPane'
+       ipselectionText.append(msg + "\n");
+
+       // now scroll if we were already at the bottom.
+       if( autoScroll ) ipselectionText.setCaretPosition( ipselectionText.getDocument().getLength() );    
+        
+    }
+    
+    /**
+     * Get socket port number.
+     * @return String containing port number.
+     */
+    public int getPort() {
+       String s = socketText.getText();
+       int port = 0;
+       try {
+               port = Integer.parseInt(s);
+       } catch (NumberFormatException e){
+               addMessage("Invalid port number: " + s);
+       }
+       return port;
+    }
+    
+    /**
+     * This method is called by SensorServerThread when
+     * a new client connects.
+     */
+    public void newClient() {
+       mIncomingConnections++;
+       if (mIncomingConnections <= 1) {
+               // We have been connected for the first time.
+               // Disable all sensors:
+               mEnabledAccelerometer.setSelected(false);
+               mEnabledMagneticField.setSelected(false);
+               mEnabledOrientation.setSelected(false);
+               mEnabledTemperature.setSelected(false);
+               
+               addMessage("First incoming connection:");
+               addMessage("ALL SENSORS DISABLED!");
+       }
+    }
+    
+    /**
+        * Safely retries the double value of a text field.
+        * If the value is not a valid number, 0 is returned, and the field
+        * is marked red.
+        * 
+        * @param textfield Textfield from which the value should be read.
+        * @param defaultValue default value if input field is invalid.
+        * @return double value.
+        */
+       public double getSafeDouble(JTextField textfield, double defaultValue) {
+               double value;
+               try {
+                       value = Double.parseDouble(textfield.getText());
+                       textfield.setBackground(Color.WHITE);
+               } catch (NumberFormatException e) {
+                       // wrong user input in box - take default values.
+                       value = defaultValue;
+                       textfield.setBackground(Color.RED);
+               }
+               return value;
+       }
+
+
+       public double getSafeDouble(JTextField textfield) {
+               return getSafeDouble(textfield, 0);
+       }
+
+       /**
+        * Safely retries the a list of double values of a text field.
+        * If the list contains errors, null is returned, and the field
+        * is marked red.
+        * 
+        * @param textfield Textfield from which the value should be read.
+        * @return list double[] with values or null.
+        */
+       public double[] getSafeDoubleList(JTextField textfield) {
+               double[] valuelist;
+               try {
+                       String t = textfield.getText();
+                       // Now we have to split this into pieces
+                       String[] tlist = t.split(",");
+                       int len = tlist.length;
+                       if (len > 0) {
+                               valuelist = new double[len];
+                               for (int i = 0; i<len; i++) {
+                                       valuelist[i] = Double.parseDouble(tlist[i]);
+                               }
+                       } else {
+                               valuelist = null;
+                       }
+                       textfield.setBackground(Color.WHITE);
+               } catch (NumberFormatException e) {
+                       // wrong user input in box - take default values.
+                       valuelist = null;
+                       textfield.setBackground(Color.RED);
+               }
+               return valuelist;
+       }
+
+       /**
+     * Create the GUI and show it.  For thread safety,
+     * this method should be invoked from the
+     * event-dispatching thread.
+     */
+//    private static void createAndShowGUI() {
+//        //Create and set up the window.
+//        JFrame frame = new JFrame("SensorSimulator");
+//        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+//
+//        //Create the menu bar.  Make it have a green background.
+//        JMenuBar myMenuBar = new JMenuBar();
+//        myMenuBar.setPreferredSize(new Dimension(200, 20));
+//
+//        //Create a yellow label to put in the content pane.
+//        JLabel yellowLabel = new JLabel();
+//        //yellowLabel.setOpaque(true);
+//        //yellowLabel.setBackground(new Color(248, 213, 131));
+//        yellowLabel.setPreferredSize(new Dimension(400, 180));
+//
+//        //Start creating and adding components.
+//        JCheckBox changeButton =
+//                new JCheckBox("Glass pane \"visible\"");
+//        changeButton.setSelected(false);
+//        
+//        SensorSimulator simulator = new SensorSimulator();
+//        
+//        
+//
+//        //Set the menu bar and add the label to the content pane.
+//        frame.setJMenuBar(myMenuBar);
+//        /*
+//        //Set up the content pane, where the "main GUI" lives.
+//        Container contentPane = frame.getContentPane();
+//        contentPane.setLayout(new FlowLayout());
+//        contentPane.add(changeButton);
+//        contentPane.add(new JButton("Button 1"));
+//        contentPane.add(new JButton("Button 2"));
+//        */
+//        
+//        //Add content to the window.
+//        frame.add(simulator, BorderLayout.CENTER);
+//
+//        //Display the window.
+//        frame.pack();
+//        frame.setVisible(true);
+//    }
+    
+//    public static void main(String[] args) {
+//        //Schedule a job for the event-dispatching thread:
+//        //creating and showing this application's GUI.
+//        javax.swing.SwingUtilities.invokeLater(new Runnable() {
+//            public void run() {
+//                createAndShowGUI();
+//            }
+//        });
+//    }
+}
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/test/TestPage.java b/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/accelerometer/page/test/TestPage.java
new file mode 100644 (file)
index 0000000..232137e
--- /dev/null
@@ -0,0 +1,40 @@
+package com.samsung.linuxplatform.sensor.accelerometer.page.test;
+
+import java.awt.Frame;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.awt.SWT_AWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorPage;
+
+public class TestPage extends AbstractInjectorPage {
+
+       public TestPage(AbstractInjectorItem item, String name) {
+               super(item, name);
+       }
+
+       @Override
+       protected void createContents() {
+               SensorSimulator panel = new SensorSimulator();
+               
+               Composite mainPage = formUtil.createComposite(parent, 1);
+               Composite testComposite = new Composite(mainPage, SWT.EMBEDDED);        
+
+               Frame frame = SWT_AWT.new_Frame(testComposite);
+               frame.add(panel);
+               frame.pack();
+               
+               GridData gd = new GridData(GridData.FILL, GridData.FILL, true, true);
+               gd.minimumHeight = 500;
+               testComposite.setLayoutData(gd);
+       }
+
+       @Override
+       protected void registerReceivers() {
+               // TODO Auto-generated method stub
+
+       }
+}
diff --git a/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/magnetic/Magnetic.java b/com.samsung.linuxplatform.sensor.accelerometer/src/com/samsung/linuxplatform/sensor/magnetic/Magnetic.java
new file mode 100644 (file)
index 0000000..81ecc53
--- /dev/null
@@ -0,0 +1,208 @@
+package com.samsung.linuxplatform.sensor.magnetic;
+
+import java.util.Random;
+
+import com.samsung.linuxplatform.sensor.accelerometer.page.Vector;
+
+public class Magnetic {
+       private static Magnetic instance;
+       private Random r;
+       private double compassx;
+       private double compassy;
+       private double compassz;
+       private double azimuth;
+//     private double magneticnorth = 22874.1;
+//     private double magneticeast = 5939.5;
+//     private double magneticvertical = 43180.5;
+       private double magneticnorth = 10000;
+       private double magneticeast = 1000;
+       private double magneticvertical = 0;
+       public static final String sensorNumber = "5\n";
+       
+       /** Current read-out value of compass x-component. */
+       private double read_compassx;
+       /** Current read-out value of compass y-component. */
+       private double read_compassy;
+       /** Current read-out value of compass z-component. */
+       private double read_compassz;
+       
+       /** Partial read-out value of compass x-component. */
+       private double partial_compassx;
+       /** Partial read-out value of compass y-component. */
+       private double partial_compassy;
+       /** Partial read-out value of compass z-component. */
+       private double partial_compassz;
+       /** Number of summands in partial sum for compass. */
+       private int partial_compass_n;
+       /** Duration (in milliseconds) between two updates.
+        * This is the inverse of the update rate.
+        */
+       private long compass_update_duration;
+       /** Time of next update required.
+        * The time is compared to System.currentTimeMillis().
+        */
+       private long compass_next_update;
+       /** Duration in milliseconds until user setting
+        * changes are read out.
+        */
+       private long user_settings_duration;
+       /** Time of next update for reading user settings from widgets.
+        * The time is compared to System.currentTimeMillis().
+        */
+       private long user_settings_next_update;
+       
+       private boolean average_compass;
+       
+       private Magnetic(){
+               r = new Random();
+               average_compass = true;
+               user_settings_duration = 500;  // Update every half second. This should be enough.
+               user_settings_next_update = System.currentTimeMillis(); // First update is now.
+               azimuth = 0;
+       }
+       
+       public static Magnetic getInstance(){
+               if( instance == null) {
+                       instance = new Magnetic();
+               }
+               return instance;
+       }
+       
+       public void setMagneticFiled(double north, double east, double vertical){
+//             magneticnorth = north;
+//             magneticeast = east;
+//             magneticvertical = vertical;
+       }
+       
+       public void updateSensorPhysics(double rollDegree, double pitchDegree, double yawDegree){
+               // user input
+               
+               double random = 0.0f;
+               
+               Vector vec;
+               
+
+
+               // Add random component:
+               if (random > 0) {
+                       magneticnorth += getRandom(random);
+                       magneticeast += getRandom(random);
+                       magneticvertical += getRandom(random);
+               }
+
+               // Magnetic vector in phone coordinates:
+               vec = new Vector(magneticeast, magneticnorth, -magneticvertical);
+               vec.scale(0.001); // convert from nT (nano-Tesla) to 占폯 (micro-Tesla)
+
+               // we reverse roll, pitch, and yawDegree,
+               // as this is how the mobile phone sees the coordinate system.
+               vec.reverserollpitchyaw();
+
+               compassx = vec.x;
+               compassy = vec.y;
+               compassz = vec.z;
+
+       }
+       public void setAzimuth(){
+               if( read_compassx == 0 && read_compassy < 0){
+                       azimuth = 90;
+               }
+               else if( read_compassx == 0 && read_compassy > 0){
+                       azimuth = 270;
+               }
+               else if( read_compassx < 0) {
+                       azimuth = 180 -  (Math.atan(read_compassy/read_compassx)) * 180/Math.PI;
+               }
+               else if( read_compassx > 0 && read_compassy < 0 ) {
+                       azimuth = -(Math.atan(read_compassy/read_compassx))*180/Math.PI;
+               }
+               else if( read_compassx > 0 && read_compassy >=0 ){
+                       azimuth = 360 - Math.atan(read_compassy/read_compassx) * 180/Math.PI;
+               }
+       }
+       
+       public double getAzimuth(){
+               return azimuth;
+       }
+       
+       public void updateSensorReadoutValues() {
+               long currentTime = System.currentTimeMillis();
+               if (average_compass) {
+                       // Form the average
+                       partial_compassx += compassx;
+                       partial_compassy += compassy;
+                       partial_compassz += compassz;
+                       partial_compass_n++;
+               }
+               if (currentTime >= compass_next_update) {
+                       // Update
+                       compass_next_update += compass_update_duration;
+                       if (compass_next_update < currentTime) {
+                               // Don't lag too much behind.
+                               // If we are too slow, then we are too slow.
+                               compass_next_update = currentTime;
+                       }
+
+                       if (average_compass) {
+                               // form average
+                               read_compassx = partial_compassx / partial_compass_n;
+                               read_compassy = partial_compassy / partial_compass_n;
+                               read_compassz = partial_compassz / partial_compass_n;
+
+                               // reset average
+                               partial_compassx = 0;
+                               partial_compassy = 0;
+                               partial_compassz = 0;
+                               partial_compass_n = 0;
+
+                       } else {
+                               // Only take current value
+                               read_compassx = compassx;
+                               read_compassy = compassy;
+                               read_compassz = compassz;
+                       }
+
+               }
+               
+       }
+       
+       public void updateUserSettings(){
+               long currentTime = System.currentTimeMillis();
+               double rate;
+               // From time to time we get the user settings:
+               if (currentTime >= user_settings_next_update) {
+                       // Do update
+                       user_settings_next_update += user_settings_duration;
+                       if (user_settings_next_update < currentTime) {
+                               // Skip time if we are already behind:
+                               user_settings_next_update = System.currentTimeMillis();
+                       }
+                       
+                       // user input
+                       average_compass = true;
+                       rate = 10;
+                       if (rate != 0) {
+                               compass_update_duration = (long) (1000. / rate);
+                       } else {
+                               compass_update_duration = 0;
+                       }
+               }
+       }
+       
+       public double getReadCompassX(){
+               return read_compassx;
+       }
+       public double getReadCompassY(){
+               return read_compassy;
+       }
+       public double getReadCompassZ(){
+               return read_compassz;
+       }
+       
+       
+       private double getRandom(double random) {
+               double val;
+               val = r.nextDouble();
+               return (2*val - 1) * random;
+       }
+}
diff --git a/com.samsung.linuxplatform.sensor.light/.classpath b/com.samsung.linuxplatform.sensor.light/.classpath
new file mode 100644 (file)
index 0000000..ad32c83
--- /dev/null
@@ -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/JavaSE-1.6"/>
+       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+       <classpathentry kind="src" path="src"/>
+       <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/com.samsung.linuxplatform.sensor.light/.project b/com.samsung.linuxplatform.sensor.light/.project
new file mode 100644 (file)
index 0000000..a753b4b
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>com.samsung.linuxplatform.sensor.light</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/com.samsung.linuxplatform.sensor.light/.settings/org.eclipse.jdt.core.prefs b/com.samsung.linuxplatform.sensor.light/.settings/org.eclipse.jdt.core.prefs
new file mode 100644 (file)
index 0000000..6022d0a
--- /dev/null
@@ -0,0 +1,8 @@
+#Thu May 12 13:46:39 KST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/com.samsung.linuxplatform.sensor.light/META-INF/MANIFEST.MF b/com.samsung.linuxplatform.sensor.light/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..c3655c4
--- /dev/null
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Light
+Bundle-SymbolicName: com.samsung.linuxplatform.sensor.light;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: SAMSUNG
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Import-Package: 
+ org.eclipse.swt.widgets
+Require-Bundle: com.samsung.linuxplatform.injector;bundle-version="1.3.20",
+ org.eclipse.swt;bundle-version="3.5.2",
+ com.samsung.freshide.connection
diff --git a/com.samsung.linuxplatform.sensor.light/bin/com/samsung/linuxplatform/sensor/light/Light.class b/com.samsung.linuxplatform.sensor.light/bin/com/samsung/linuxplatform/sensor/light/Light.class
new file mode 100644 (file)
index 0000000..2531ec6
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.light/bin/com/samsung/linuxplatform/sensor/light/Light.class differ
diff --git a/com.samsung.linuxplatform.sensor.light/bin/com/samsung/linuxplatform/sensor/light/page/LightPage$1.class b/com.samsung.linuxplatform.sensor.light/bin/com/samsung/linuxplatform/sensor/light/page/LightPage$1.class
new file mode 100644 (file)
index 0000000..44a1193
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.light/bin/com/samsung/linuxplatform/sensor/light/page/LightPage$1.class differ
diff --git a/com.samsung.linuxplatform.sensor.light/bin/com/samsung/linuxplatform/sensor/light/page/LightPage$2.class b/com.samsung.linuxplatform.sensor.light/bin/com/samsung/linuxplatform/sensor/light/page/LightPage$2.class
new file mode 100644 (file)
index 0000000..a427fe3
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.light/bin/com/samsung/linuxplatform/sensor/light/page/LightPage$2.class differ
diff --git a/com.samsung.linuxplatform.sensor.light/bin/com/samsung/linuxplatform/sensor/light/page/LightPage.class b/com.samsung.linuxplatform.sensor.light/bin/com/samsung/linuxplatform/sensor/light/page/LightPage.class
new file mode 100644 (file)
index 0000000..442314f
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.light/bin/com/samsung/linuxplatform/sensor/light/page/LightPage.class differ
diff --git a/com.samsung.linuxplatform.sensor.light/build.properties b/com.samsung.linuxplatform.sensor.light/build.properties
new file mode 100644 (file)
index 0000000..e9863e2
--- /dev/null
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml
diff --git a/com.samsung.linuxplatform.sensor.light/plugin.xml b/com.samsung.linuxplatform.sensor.light/plugin.xml
new file mode 100644 (file)
index 0000000..080a44d
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="com.samsung.linuxplatform.injector.injectorItemProvider">
+      <itemType
+            category="Sensor"
+            class="com.samsung.linuxplatform.sensor.light.Light"
+            id="com.samsung.linuxplatform.sensor.light"
+            name="Light">
+      </itemType>
+   </extension>
+
+</plugin>
diff --git a/com.samsung.linuxplatform.sensor.light/src/com/samsung/linuxplatform/sensor/light/Light.java b/com.samsung.linuxplatform.sensor.light/src/com/samsung/linuxplatform/sensor/light/Light.java
new file mode 100644 (file)
index 0000000..18cbfb6
--- /dev/null
@@ -0,0 +1,13 @@
+package com.samsung.linuxplatform.sensor.light;
+
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+import com.samsung.linuxplatform.sensor.light.page.LightPage;
+
+public class Light extends AbstractInjectorItem{
+
+       @Override
+       protected void addPages() {
+               addPage(new LightPage(this, "Light"));
+       }
+
+}
diff --git a/com.samsung.linuxplatform.sensor.light/src/com/samsung/linuxplatform/sensor/light/page/LightPage.java b/com.samsung.linuxplatform.sensor.light/src/com/samsung/linuxplatform/sensor/light/page/LightPage.java
new file mode 100644 (file)
index 0000000..dca56ea
--- /dev/null
@@ -0,0 +1,126 @@
+package com.samsung.linuxplatform.sensor.light.page;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.Timer;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Slider;
+import org.eclipse.swt.widgets.Text;
+
+import com.samsung.freshide.connection.device.DeviceChecker;
+import com.samsung.freshide.connection.device.DeviceLauncherManager;
+import com.samsung.freshide.connection.device.DeviceManager;
+import com.samsung.freshide.connection.device.IDeviceListener;
+import com.samsung.freshide.connection.machine.IMachine;
+import com.samsung.linuxplatform.injector.protocol.sensor.TestSensorMessage;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorPage;
+
+public class LightPage extends AbstractInjectorPage implements IDeviceListener {
+       private Text sliderText;
+       private Slider slider;
+       private final String sensorNumber = "3\n";
+       private final String lightLevel = "Level";
+       private Timer timer;
+       private int sendData;
+
+       public LightPage(AbstractInjectorItem item, String name) {
+               super(item, name);
+       }
+
+       @Override
+       protected void createContents() {
+               DeviceLauncherManager.addDeviceListener(this);
+               int delay = 100;
+               
+               Composite mainComposite = formUtil.createComposite(parent, 3);
+               formUtil.createLabel(mainComposite, lightLevel);
+               slider = formUtil.createSlider(mainComposite, SWT.HORIZONTAL);
+               slider.setValues(0, 0, 11, 1, 1, 1);
+               slider.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
+               sliderText = formUtil.createText(mainComposite, Integer.toString(slider.getSelection()));
+               sliderText.setEditable(false);
+               GridData gd = new GridData(GridData.BEGINNING, GridData.CENTER, false, false);
+               gd.widthHint = 20;
+               sliderText.setLayoutData(gd);
+               slider.addSelectionListener(new SelectionListener() {
+                       @Override
+                       public void widgetDefaultSelected(SelectionEvent e) {
+                               // TODO Auto-generated method stub
+                       }
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               sendData = slider.getSelection();
+                               sliderText.setText(Integer.toString(sendData));
+                       }
+               });
+               
+               timer = new Timer(delay, new ActionListener(){
+                       @Override
+                       public void actionPerformed(ActionEvent arg0) {
+                               sendMessage(sendData);
+                       }
+               });
+               timer.setCoalesce(true);
+       }
+
+       @Override
+       protected void registerReceivers() {
+               // TODO Auto-generated method stub
+               
+       }
+       public void sendMessage(int level) {
+               TestSensorMessage msg = new TestSensorMessage(level);
+               try {
+                       sensorSocket.send(sensorNumber + msg.getMessage());
+               } catch (Exception e1) {
+                       // TODO Auto-generated catch block
+                       e1.printStackTrace();
+               }
+       }
+
+//     @Override
+       public void connect() {
+               // TODO Auto-generated method stub
+               if( timer != null ){
+                       timer.start();
+               }
+       }
+
+//     @Override
+       public void disconnect() {
+               // TODO Auto-generated method stub
+               if( timer != null) {
+                       timer.stop();
+               }
+       }
+
+       @Override
+       public void StatusChanged(int Event) {
+//             if( DeviceManager.getSelectedDevice().getMachineType() == IMachine.VIRTUAL_DEVICE){
+//                     if (Event == IDeviceListener.RUNNING) {
+//                             connect();
+//                     }
+//                     else if( Event == IDeviceListener.NOT_RUNNING){
+//                             disconnect();
+//                     }
+//             }
+       }
+
+       @Override
+       public void ConnectionChanged() {
+               if (DeviceChecker.hasActiveVirtualDevice( DeviceManager.getSelectedDevice().getMachineId() )) {
+                       connect();
+               }
+               else {
+                       disconnect();
+               }
+       }
+
+}
diff --git a/com.samsung.linuxplatform.sensor.proximity/.classpath b/com.samsung.linuxplatform.sensor.proximity/.classpath
new file mode 100644 (file)
index 0000000..ad32c83
--- /dev/null
@@ -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/JavaSE-1.6"/>
+       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+       <classpathentry kind="src" path="src"/>
+       <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/com.samsung.linuxplatform.sensor.proximity/.project b/com.samsung.linuxplatform.sensor.proximity/.project
new file mode 100644 (file)
index 0000000..e9e117d
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>com.samsung.linuxplatform.sensor.proximity</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/com.samsung.linuxplatform.sensor.proximity/.settings/org.eclipse.jdt.core.prefs b/com.samsung.linuxplatform.sensor.proximity/.settings/org.eclipse.jdt.core.prefs
new file mode 100644 (file)
index 0000000..7f0584e
--- /dev/null
@@ -0,0 +1,8 @@
+#Wed May 11 20:48:33 KST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/com.samsung.linuxplatform.sensor.proximity/META-INF/MANIFEST.MF b/com.samsung.linuxplatform.sensor.proximity/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..72d0554
--- /dev/null
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Proximity
+Bundle-SymbolicName: com.samsung.linuxplatform.sensor.proximity;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: SAMSUNG
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: com.samsung.linuxplatform.injector,
+ org.eclipse.swt,
+ com.samsung.freshide.connection
+Import-Package: 
+ org.eclipse.swt,
+ org.eclipse.swt.widgets
diff --git a/com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/Proximity.class b/com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/Proximity.class
new file mode 100644 (file)
index 0000000..0cd1b85
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/Proximity.class differ
diff --git a/com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/page/ProximityConstants.class b/com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/page/ProximityConstants.class
new file mode 100644 (file)
index 0000000..e271028
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/page/ProximityConstants.class differ
diff --git a/com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/page/ProximityPage$1.class b/com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/page/ProximityPage$1.class
new file mode 100644 (file)
index 0000000..7bb9f10
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/page/ProximityPage$1.class differ
diff --git a/com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/page/ProximityPage$2.class b/com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/page/ProximityPage$2.class
new file mode 100644 (file)
index 0000000..58c5ad7
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/page/ProximityPage$2.class differ
diff --git a/com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/page/ProximityPage.class b/com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/page/ProximityPage.class
new file mode 100644 (file)
index 0000000..66b85be
Binary files /dev/null and b/com.samsung.linuxplatform.sensor.proximity/bin/com/samsung/linuxplatform/sensor/proximity/page/ProximityPage.class differ
diff --git a/com.samsung.linuxplatform.sensor.proximity/build.properties b/com.samsung.linuxplatform.sensor.proximity/build.properties
new file mode 100644 (file)
index 0000000..e9863e2
--- /dev/null
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml
diff --git a/com.samsung.linuxplatform.sensor.proximity/plugin.xml b/com.samsung.linuxplatform.sensor.proximity/plugin.xml
new file mode 100644 (file)
index 0000000..bd1a451
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="com.samsung.linuxplatform.injector.injectorItemProvider">
+      <itemType
+            category="Sensor"
+            class="com.samsung.linuxplatform.sensor.proximity.Proximity"
+            id="com.samsung.linuxplatform.sensor.proximity"
+            name="Proximity">
+      </itemType>
+   </extension>
+
+</plugin>
diff --git a/com.samsung.linuxplatform.sensor.proximity/src/com/samsung/linuxplatform/sensor/proximity/Proximity.java b/com.samsung.linuxplatform.sensor.proximity/src/com/samsung/linuxplatform/sensor/proximity/Proximity.java
new file mode 100644 (file)
index 0000000..c50ecca
--- /dev/null
@@ -0,0 +1,14 @@
+package com.samsung.linuxplatform.sensor.proximity;
+
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+import com.samsung.linuxplatform.sensor.proximity.page.ProximityPage;
+
+public class Proximity extends AbstractInjectorItem{
+
+       @Override
+       protected void addPages() {
+               addPage(new ProximityPage(this, "Proximity"));
+               
+       }
+
+}
diff --git a/com.samsung.linuxplatform.sensor.proximity/src/com/samsung/linuxplatform/sensor/proximity/page/ProximityConstants.java b/com.samsung.linuxplatform.sensor.proximity/src/com/samsung/linuxplatform/sensor/proximity/page/ProximityConstants.java
new file mode 100644 (file)
index 0000000..7413913
--- /dev/null
@@ -0,0 +1,6 @@
+package com.samsung.linuxplatform.sensor.proximity.page;
+
+public class ProximityConstants {
+       public static final String ON = "Near";
+       public static final String OFF = "Far";
+}
diff --git a/com.samsung.linuxplatform.sensor.proximity/src/com/samsung/linuxplatform/sensor/proximity/page/ProximityPage.java b/com.samsung.linuxplatform.sensor.proximity/src/com/samsung/linuxplatform/sensor/proximity/page/ProximityPage.java
new file mode 100644 (file)
index 0000000..4f5227f
--- /dev/null
@@ -0,0 +1,134 @@
+package com.samsung.linuxplatform.sensor.proximity.page;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.Timer;
+
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.SWT;
+
+
+import com.samsung.freshide.connection.device.DeviceChecker;
+import com.samsung.freshide.connection.device.DeviceLauncherManager;
+import com.samsung.freshide.connection.device.DeviceManager;
+import com.samsung.freshide.connection.device.IDeviceListener;
+import com.samsung.freshide.connection.machine.IMachine;
+import com.samsung.linuxplatform.injector.protocol.sensor.TestSensorMessage;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorPage;
+
+public class ProximityPage extends AbstractInjectorPage implements IDeviceListener {
+
+       private Button radioButton[];
+       private final String sensorNumber = "2\n";
+       private Timer timer;
+       private boolean sensorOn;
+       
+       public ProximityPage(AbstractInjectorItem item, String name) {
+               super(item, name);
+               // TODO Auto-generated constructor stub
+       }
+
+       @Override
+       protected void createContents() {
+               DeviceLauncherManager.addDeviceListener(this);
+               sensorOn = false;
+               
+               int delay = 100;
+               Composite mainComposite = formUtil.createComposite(parent, 5);
+               radioButton = new Button[2];
+               radioButton[0] = formUtil.createButton(mainComposite, ProximityConstants.ON, SWT.RADIO);
+               radioButton[1] = formUtil.createButton(mainComposite, ProximityConstants.OFF, SWT.RADIO);
+               radioButton[1].setSelection(true);
+               radioButton[0].addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               for( int i = 0 ; i < radioButton.length ; i++ ) {
+                                       if(radioButton[i].getSelection()) {
+                                               if( i == 0 ) { // On
+                                                       sensorOn = true;
+                                               }
+                                               else {  // Off
+                                                       sensorOn = false;
+                                               }
+                                       }
+                               super.widgetSelected(e);
+                               }
+                       }
+               });
+               
+               timer = new Timer(delay, new ActionListener(){
+                       public void actionPerformed(ActionEvent arg0) {
+                               if( sensorOn ) { // On
+                                       sendMessage(1);
+                               }
+                               else {  // Off
+                                       sendMessage(0);
+                               }
+                       }
+               });
+               timer.setCoalesce(true);
+               
+       }
+
+       @Override
+       protected void registerReceivers() {
+               // TODO Auto-generated method stub
+               
+       }
+
+       public void sendMessage(int on) {
+               TestSensorMessage msg = new TestSensorMessage(on);
+               try {
+                       sensorSocket.send(sensorNumber + msg.getMessage());
+               } catch (Exception e1) {
+                       // TODO Auto-generated catch block
+                       e1.printStackTrace();
+               }
+       }
+
+//     @Override
+       public void connect() {
+               // TODO Auto-generated method stub
+               if( timer != null ){
+                       timer.start();
+               }
+       }
+
+//     @Override
+       public void disconnect() {
+               // TODO Auto-generated method stub
+               if( timer != null) {
+                       timer.stop();
+               }
+       }
+
+       @Override
+       public void StatusChanged(int Event) {
+//             if( DeviceManager.getSelectedDevice().getMachineType() == IMachine.VIRTUAL_DEVICE){
+//                     if (Event == IDeviceListener.RUNNING) {
+//                             connect();
+//                     }
+//                     else if( Event == IDeviceListener.NOT_RUNNING){
+//                             disconnect();
+//                     }
+//             }
+       }
+
+       @Override
+       public void ConnectionChanged() {
+               if (DeviceChecker.hasActiveVirtualDevice( DeviceManager.getSelectedDevice().getMachineId() )) {
+                       connect();
+               }
+               else {
+                       disconnect();
+               }
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.call/.classpath b/com.samsung.linuxplatform.telephony.call/.classpath
new file mode 100644 (file)
index 0000000..ad32c83
--- /dev/null
@@ -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/JavaSE-1.6"/>
+       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+       <classpathentry kind="src" path="src"/>
+       <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/com.samsung.linuxplatform.telephony.call/.project b/com.samsung.linuxplatform.telephony.call/.project
new file mode 100644 (file)
index 0000000..75b0458
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>com.samsung.linuxplatform.telephony.call</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/com.samsung.linuxplatform.telephony.call/.settings/org.eclipse.core.resources.prefs b/com.samsung.linuxplatform.telephony.call/.settings/org.eclipse.core.resources.prefs
new file mode 100644 (file)
index 0000000..7bc7400
--- /dev/null
@@ -0,0 +1,3 @@
+#Wed Dec 01 09:09:12 CET 2010
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/com.samsung.linuxplatform.telephony.call/.settings/org.eclipse.core.runtime.prefs b/com.samsung.linuxplatform.telephony.call/.settings/org.eclipse.core.runtime.prefs
new file mode 100644 (file)
index 0000000..75c8101
--- /dev/null
@@ -0,0 +1,3 @@
+#Tue Dec 14 16:31:45 CET 2010
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/com.samsung.linuxplatform.telephony.call/META-INF/MANIFEST.MF b/com.samsung.linuxplatform.telephony.call/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..2ddb3bb
--- /dev/null
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: SLP SDK Telephony Call
+Bundle-SymbolicName: com.samsung.linuxplatform.telephony.call;singleton:=true
+Bundle-Version: 1.3.20.qualifier
+Bundle-Vendor: Samsung Electronics
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.ui.forms;bundle-version="3.3.103",
+ com.samsung.freshide.common;bundle-version="1.0.2",
+ org.eclipse.ui.views;bundle-version="3.3.1",
+ com.samsung.linuxplatform.injector
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/TelephonyCall.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/TelephonyCall.class
new file mode 100644 (file)
index 0000000..adb7617
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/TelephonyCall.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/model/CallListVO.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/model/CallListVO.class
new file mode 100644 (file)
index 0000000..583d416
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/model/CallListVO.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$1.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$1.class
new file mode 100644 (file)
index 0000000..d4abcb6
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$1.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$2.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$2.class
new file mode 100644 (file)
index 0000000..8705810
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$2.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$3.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$3.class
new file mode 100644 (file)
index 0000000..ae53a3c
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$3.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$4.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$4.class
new file mode 100644 (file)
index 0000000..cc5dd7b
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$4.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$CallList22Receiver.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$CallList22Receiver.class
new file mode 100644 (file)
index 0000000..589beab
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$CallList22Receiver.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$CallList26Receiver.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$CallList26Receiver.class
new file mode 100644 (file)
index 0000000..86dfd60
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$CallList26Receiver.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$CallList29Receiver.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$CallList29Receiver.class
new file mode 100644 (file)
index 0000000..206b8cf
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$CallList29Receiver.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$CallReceiver.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$CallReceiver.class
new file mode 100644 (file)
index 0000000..776c53f
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall$CallReceiver.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall.class
new file mode 100644 (file)
index 0000000..1e7058d
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/MOMTCall.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty$1.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty$1.class
new file mode 100644 (file)
index 0000000..eda04e3
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty$1.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty$2.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty$2.class
new file mode 100644 (file)
index 0000000..2c73044
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty$2.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty$3.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty$3.class
new file mode 100644 (file)
index 0000000..84bab2d
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty$3.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty$4.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty$4.class
new file mode 100644 (file)
index 0000000..e5958b8
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty$4.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty.class
new file mode 100644 (file)
index 0000000..4c28cca
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/page/RemoteParty.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A07.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A07.class
new file mode 100644 (file)
index 0000000..46dde89
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A07.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A21MO.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A21MO.class
new file mode 100644 (file)
index 0000000..fda5f5e
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A21MO.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A21MT.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A21MT.class
new file mode 100644 (file)
index 0000000..f18df91
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A21MT.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A22.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A22.class
new file mode 100644 (file)
index 0000000..66e6fd8
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A22.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A22End.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A22End.class
new file mode 100644 (file)
index 0000000..53b303a
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A22End.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A23.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A23.class
new file mode 100644 (file)
index 0000000..ef849f9
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A23.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A26.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A26.class
new file mode 100644 (file)
index 0000000..87e2065
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A26.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A29.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A29.class
new file mode 100644 (file)
index 0000000..b623fe0
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A29.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A62.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A62.class
new file mode 100644 (file)
index 0000000..0ecfa35
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G01A62.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G03A58.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G03A58.class
new file mode 100644 (file)
index 0000000..c92a311
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G03A58.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G03A59.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G03A59.class
new file mode 100644 (file)
index 0000000..d7981b8
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G03A59.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G0DA09.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G0DA09.class
new file mode 100644 (file)
index 0000000..3864560
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G0DA09.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G0DA0B.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G0DA0B.class
new file mode 100644 (file)
index 0000000..977402b
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/protocol/G0DA0B.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/resource/ErrorCode.class b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/resource/ErrorCode.class
new file mode 100644 (file)
index 0000000..9d66286
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/bin/com/samsung/linuxplatform/telephony/call/resource/ErrorCode.class differ
diff --git a/com.samsung.linuxplatform.telephony.call/build.properties b/com.samsung.linuxplatform.telephony.call/build.properties
new file mode 100644 (file)
index 0000000..663e43b
--- /dev/null
@@ -0,0 +1,6 @@
+source.. = src/\r
+output.. = bin/\r
+bin.includes = plugin.xml,\\r
+               META-INF/,\\r
+               .\rjavacSource = 1.6
+javacTarget = 1.6
diff --git a/com.samsung.linuxplatform.telephony.call/build.xml b/com.samsung.linuxplatform.telephony.call/build.xml
new file mode 100644 (file)
index 0000000..725b77f
--- /dev/null
@@ -0,0 +1,345 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="com.samsung.linuxplatform.telephony.call" default="build.jars" basedir=".">
+
+       <property name="p2.build.repo" value="file:${buildDirectory}/buildRepo"/>
+       <property name="basews" value="${ws}"/>
+       <property name="baseos" value="${os}"/>
+       <property name="basearch" value="${arch}"/>
+       <property name="basenl" value="${nl}"/>
+       <property name="bundleId" value="com.samsung.linuxplatform.telephony.call"/>
+       <property name="bundleVersion" value="1.3.20.201103241558"/>
+       <property name="p2.publishonerror" value="false"/>
+
+       <!-- Compiler settings. -->
+       <property name="javacFailOnError" value="false"/>
+       <property name="javacDebugInfo" value="on"/>
+       <property name="javacVerbose" value="false"/>
+       <property name="logExtension" value=".log"/>
+       <property name="compilerArg" value=""/>
+       <condition property="dir_bootclasspath" value="${java.home}/../Classes">
+               <os family="mac"/>
+       </condition>
+       <property name="dir_bootclasspath" value="${java.home}/lib"/>
+       <path id="path_bootclasspath">
+               <fileset dir="${dir_bootclasspath}">
+                       <include name="*.jar"/>
+               </fileset>
+       </path>
+       <property name="bootclasspath" refid="path_bootclasspath"/>
+       <property name="bundleJavacSource" value="1.6"/>
+       <property name="bundleJavacTarget" value="1.6"/>
+       <condition property="bundleBootClasspath" value="${JavaSE-1.6}" >
+               <isset property="JavaSE-1.6"/>
+       </condition>
+       <property name="bundleBootClasspath" value="${bootclasspath}"/>
+
+       <target name="init" depends="properties">
+               <condition property="pluginTemp" value="${buildTempFolder}/plugins"             >
+                       <isset property="buildTempFolder"/>
+               </condition>
+               <property name="pluginTemp" value="${basedir}"/>
+               <condition property="build.result.folder" value="${pluginTemp}/com.samsung.linuxplatform.telephony.call_1.3.20.201103241558"            >
+                       <isset property="buildTempFolder"/>
+               </condition>
+               <property name="build.result.folder" value="${basedir}"/>
+               <property name="temp.folder" value="${basedir}/temp.folder"/>
+               <property name="plugin.destination" value="${basedir}"/>
+               <condition property="p2.publish.parts" value="true"             >
+                       <istrue value="${p2.gathering}"/>
+               </condition>
+               <property name="compilation.problem.marker" value="${build.result.folder}/compilation.problem"/>
+               <condition property="compilation.problem.marker.exists" value="true"            >
+                       <and>
+                       <available file="${compilation.problem.marker}"/>
+                       <isfalse value="p2.publishonerror"/>
+                       </and>
+               </condition>
+       </target>
+
+       <target name="properties" if="eclipse.running">
+               <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+
+       </target>
+
+       <target name="build.update.jar" depends="init" description="Build the plug-in: com.samsung.linuxplatform.telephony.call for an update site.">
+               <delete dir="${temp.folder}"/>
+               <mkdir dir="${temp.folder}"/>
+               <antcall target="build.jars"/>
+               <antcall target="gather.bin.parts">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <jar destfile="${plugin.destination}/com.samsung.linuxplatform.telephony.call_1.3.20.201103241558.jar" basedir="${temp.folder}/com.samsung.linuxplatform.telephony.call_1.3.20.201103241558" filesetmanifest="merge"/>
+               <delete dir="${temp.folder}"/>
+       </target>
+
+       <target name="@dot" depends="init" unless="@dot" description="Create jar: com.samsung.linuxplatform.telephony.call @dot.">
+               <delete dir="${build.result.folder}/@dot"/>
+               <mkdir dir="${build.result.folder}/@dot"/>
+               <path id="@dot.classpath">
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui_3.5.2.M20100120-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20090525.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.osgi_3.5.2.R35x_v20100126.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800/runtime_registry_compatibility.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.100.v20090413.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.app_1.2.1.R35x_v20091203.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.osgi.services_3.2.0.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/javax.servlet_2.5.0.v200806031605.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.swt_3.5.2.v3557f.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface_3.5.2.M20100120-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.commands_3.5.0.I20090525-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench_3.5.2.M20100113-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/compatibility.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/e4-workbench.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800"/>
+                       <pathelement path="../../../eclipse/plugins/com.ibm.icu_4.0.1.v20090822.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.help_3.4.1.v20090805_35x.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.expressions_3.4.101.R35x_v20100209.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface.databinding_1.3.1.M20090826-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding.observable_1.2.0.M20090902-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding.property_1.2.0.M20090819-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding_1.2.0.M20090819-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.resources.compatibility_3.4.1.R35x_v20100113-0530.jar"/>
+                       <pathelement path="../org.eclipse.core.resources.nl_ko/org.eclipse.core.resources.nl_ko_3.5.0.v20100814074441.jar"/>
+                       <pathelement path="../org.eclipse.core.resources.nl_ko"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ant.core_3.2.101.v20091110_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.variables_3.2.200.v20090521.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filesystem_1.2.1.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filesystem.linux.x86_1.3.0.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.forms_3.4.1.v20090714_35x.jar"/>
+                       <pathelement path="../com.samsung.linuxplatform.common/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common_1.3.20.201103241558/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../org.eclipse.ui.ide/bin"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/bin"/>
+                       <pathelement path="../org.eclipse.ui.ide/e4-ide.jar"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/e4-ide.jar"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide/@dot"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/@dot"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.views_3.4.1.M20090826-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface.text_3.5.2.r352_v20091118-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.text_3.5.0.v20090513-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.engine_1.0.102.R35x_v20091117.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.core_1.0.101.R35x_v20090819.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.metadata_1.0.101.R35x_v20100112.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.metadata.repository_1.0.101.R35x_v20090812.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.repository_1.0.1.R35x_v20100105.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.security_1.0.100.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.filetransfer_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.ssl_1.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.concurrent_1.0.1.R35x_v20100209.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.identity_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.provider.filetransfer_3.0.1.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.net_1.2.1.r35x_20090812-1200.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.net.linux.x86_1.1.0.I20081021.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.artifact.repository_1.0.101.R35x_v20090721.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.100.v20090520-1905.jar"/>
+                       <pathelement path="../com.samsung.linuxplatform.injector/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector_1.3.20.201103241558/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection/bin"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection_1.3.20.201103241558/bin"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.linux/bin/"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.linux/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.windows/bin/"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.windows/@dot"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.console_3.4.0.v20090513.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.texteditor_3.5.1.r352_v20100105.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.compare.core_3.5.0.I20090430-0408.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.debug.ui_3.5.2.v20091028_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.debug.core_3.5.1.v20091103_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.editors_3.5.0.v20090527-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filebuffers_3.5.0.v20090526-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.ui_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.services_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.core_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.efs_2.1.100.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.files.core_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.processes.core_3.1.0.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.shells.core_3.1.0.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.terminals.core_1.0.1.v200908051630.jar"/>
+                       <pathelement path="../../../eclipse/plugins/com.jcraft.jsch_0.1.41.v200903070017.jar"/>
+               </path>
+               <!-- compile the source code -->
+               <javac destdir="${build.result.folder}/@dot" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bundleBootClasspath}" source="${bundleJavacSource}" target="${bundleJavacTarget}"            >
+                       <compilerarg line="${compilerArg}" compiler="${build.compiler}"/>
+                       <classpath refid="@dot.classpath" />
+                       <src path="src/"                        />
+                       <compilerarg value="@${basedir}/javaCompiler...args" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+                       <compilerarg line="-log '${build.result.folder}/@dot${logExtension}'" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+               </javac>
+               <antcall target="checkCompilationResults"/>
+               <!-- Copy necessary resources -->
+               <copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
+                       <fileset dir="src/">
+                               <exclude name="**/*.java"/>
+                               <exclude name="**/package.htm*"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="src.zip" depends="init" unless="src.zip">
+               <mkdir dir="${build.result.folder}"/>
+               <antcall target="zip.src.zip"/>
+       </target>
+       <target name="zip.src.zip">
+               <zip destfile="${build.result.folder}/src.zip" filesonly="false" whenempty="skip" update="false">
+                       <fileset dir="src/">
+                               <include name="**/*.java"/>
+                       </fileset>
+               </zip>
+       </target>
+       <target name="copy.src.zip">
+               <copy todir="${source.destination.folder}/" failonerror="true" overwrite="true">
+                       <fileset dir="src/">
+                               <include name="**/*.java"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="build.jars" depends="init" description="Compile classes and build nested jars for the plug-in: com.samsung.linuxplatform.telephony.call.">
+               <delete file="${compilation.problem.marker}" quiet="true"/>
+               <available property="@dot" file="${build.result.folder}/@dot"/>
+               <antcall target="@dot"/>
+       </target>
+
+       <target name="checkCompilationResults" if="compilation.error.occured">
+               <echo file="${compilation.problem.marker}" message="com.samsung.linuxplatform.telephony.call : compilation.error.occured=${compilation.error.occured}"/>
+       </target>
+
+       <target name="build.sources" depends="init">
+               <available property="src.zip" file="${build.result.folder}/src.zip"/>
+               <antcall target="src.zip"/>
+       </target>
+
+       <target name="publish.bin.parts" depends="init" if="p2.publish.parts" unless="compilation.problem.marker.exists">
+               <mkdir dir="${build.result.folder}/com.samsung.linuxplatform.telephony.call_1.3.20.201103241558"/>
+               <copy todir="${build.result.folder}" failonerror="true" overwrite="true">
+                       <fileset dir="${basedir}">
+                               <include name="META-INF/MANIFEST.MF"/>
+                               <include name="plugin.xml"/>
+                               <include name="fragment.xml"/>
+                       </fileset>
+               </copy>
+               <eclipse.versionReplacer path="${build.result.folder}" version="1.3.20.201103241558"/>
+               <antcall target="apitools.generation">
+                       <param name="target.folder" value="${build.result.folder}"/>
+                       <param name="projectLocation" value="${basedir}"/>
+                       <param name="binary.folders" value="${build.result.folder}/@dot"/>
+                       <param name="projectName" value="${bundleId}_${bundleVersion}"/>
+               </antcall>
+               <eclipse.gatherBundle 
+                  metadataRepository="${p2.build.repo}"
+                  artifactRepository="${p2.build.repo}"
+                  buildResultFolder="${build.result.folder}"
+                  unpack="false"
+                  baseDirectory="${basedir}"
+               />
+       </target>
+
+       <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.telephony.call_1.3.20.201103241558"/>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.telephony.call_1.3.20.201103241558" failonerror="true" overwrite="false">
+                       <fileset dir="${build.result.folder}/@dot">
+                               <include name="**"/>
+                       </fileset>
+               </copy>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.telephony.call_1.3.20.201103241558" failonerror="true" overwrite="true">
+                       <fileset dir="${basedir}">
+                               <include name="plugin.xml"/>
+                               <include name="META-INF/"/>
+                       </fileset>
+               </copy>
+               <eclipse.versionReplacer path="${destination.temp.folder}/com.samsung.linuxplatform.telephony.call_1.3.20.201103241558" version="1.3.20.201103241558"/>
+               <antcall target="apitools.generation">
+                       <param name="target.folder" value="${destination.temp.folder}/com.samsung.linuxplatform.telephony.call_1.3.20.201103241558"/>
+                       <param name="projectLocation" value="${basedir}"/>
+                       <param name="binary.folders" value="${build.result.folder}/@dot"/>
+                       <param name="projectName" value="${bundleId}_${bundleVersion}"/>
+               </antcall>
+       </target>
+
+       <target name="build.zips" depends="init">
+       </target>
+
+       <target name="gather.sources" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.telephony.call_1.3.20.201103241558"/>
+               <copy file="${build.result.folder}/src.zip" todir="${destination.temp.folder}/com.samsung.linuxplatform.telephony.call_1.3.20.201103241558" failonerror="false" overwrite="false"/>
+               <antcall target="copy.src.includes">
+                       <param name="source.destination.folder" value="${destination.temp.folder}/com.samsung.linuxplatform.telephony.call_1.3.20.201103241558"/>
+               </antcall>
+       </target>
+
+       <target name="gather.individual.sources" depends="init">
+               <antcall target="copy.src.zip">
+                       <param name="source.destination.folder" value="${destination.temp.folder}"/>
+               </antcall>
+               <antcall target="copy.src.includes">
+                       <param name="source.destination.folder" value="${destination.temp.folder}"/>
+               </antcall>
+       </target>
+
+       <target name="copy.src.includes" depends="init">
+       </target>
+
+       <target name="gather.logs" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.telephony.call_1.3.20.201103241558"/>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.telephony.call_1.3.20.201103241558" failonerror="false" overwrite="false">
+                       <fileset dir="${build.result.folder}">
+                               <include name="@dot${logExtension}"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="clean" depends="init" description="Clean the plug-in: com.samsung.linuxplatform.telephony.call of all the zips, jars and logs created.">
+               <delete dir="${build.result.folder}/@dot"/>
+               <delete file="${build.result.folder}/src.zip"/>
+               <delete file="${plugin.destination}/com.samsung.linuxplatform.telephony.call_1.3.20.201103241558.jar"/>
+               <delete file="${plugin.destination}/com.samsung.linuxplatform.telephony.call_1.3.20.201103241558.zip"/>
+               <delete dir="${temp.folder}"/>
+               <delete file="${compilation.problem.marker}" quiet="true"/>
+       </target>
+
+       <target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
+               <eclipse.convertPath fileSystemPath="/home/taeyoung/SLPSDK/git/samsung-sdk-ide/com.samsung.linuxplatform.telephony.call" property="resourcePath"/>
+               <eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
+       </target>
+
+       <target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: com.samsung.linuxplatform.telephony.call.">
+               <delete dir="${temp.folder}"/>
+               <mkdir dir="${temp.folder}"/>
+               <antcall target="build.jars"/>
+               <antcall target="build.sources"/>
+               <antcall target="gather.bin.parts">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <antcall target="gather.sources">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <delete>
+                       <fileset dir="${temp.folder}">
+                               <include name="**/*.bin${logExtension}"/>
+                       </fileset>
+               </delete>
+               <zip destfile="${plugin.destination}/com.samsung.linuxplatform.telephony.call_1.3.20.201103241558.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
+               <delete dir="${temp.folder}"/>
+       </target>
+
+       <target name="apitools.generation" if="generateAPIDescription">
+               <apitooling.apigeneration  projectName="${projectName}" project="${projectLocation}" binary="${binary.folders}" target="${target.folder}"               />
+       </target>
+
+</project>
diff --git a/com.samsung.linuxplatform.telephony.call/icons/telephony_view.png b/com.samsung.linuxplatform.telephony.call/icons/telephony_view.png
new file mode 100644 (file)
index 0000000..d87e1cb
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.call/icons/telephony_view.png differ
diff --git a/com.samsung.linuxplatform.telephony.call/javaCompiler...args b/com.samsung.linuxplatform.telephony.call/javaCompiler...args
new file mode 100644 (file)
index 0000000..267289f
--- /dev/null
@@ -0,0 +1,96 @@
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui_3.5.2.M20100120-0800.jar[~org/eclipse/ui/internal/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20090525.jar[~org/eclipse/core/internal/preferences/legacy/*:~org/eclipse/core/internal/runtime/*:+org/eclipse/core/runtime/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.osgi_3.5.2.R35x_v20100126.jar[+org/eclipse/osgi/event/*:+org/eclipse/osgi/framework/console/*:+org/eclipse/osgi/framework/eventmgr/*:+org/eclipse/osgi/framework/log/*:+org/eclipse/osgi/launch/*:+org/eclipse/osgi/service/datalocation/*:+org/eclipse/osgi/service/debug/*:+org/eclipse/osgi/service/environment/*:+org/eclipse/osgi/service/localization/*:+org/eclipse/osgi/service/pluginconversion/*:+org/eclipse/osgi/service/resolver/*:+org/eclipse/osgi/service/runnable/*:+org/eclipse/osgi/service/security/*:+org/eclipse/osgi/service/urlconversion/*:+org/eclipse/osgi/signedcontent/*:+org/eclipse/osgi/storagemanager/*:+org/eclipse/osgi/util/*:+org/osgi/framework/*:+org/osgi/framework/launch/*:+org/osgi/framework/hooks/service/*:+org/osgi/service/condpermadmin/*:~org/osgi/service/framework/*:+org/osgi/service/packageadmin/*:+org/osgi/service/permissionadmin/*:+org/osgi/service/startlevel/*:+org/osgi/service/url/*:+org/osgi/util/tracker/*:~org/eclipse/core/runtime/adaptor/*:~org/eclipse/core/runtime/internal/adaptor/*:~org/eclipse/core/runtime/internal/stats/*:~org/eclipse/osgi/baseadaptor/*:~org/eclipse/osgi/baseadaptor/bundlefile/*:~org/eclipse/osgi/baseadaptor/hooks/*:~org/eclipse/osgi/baseadaptor/loader/*:~org/eclipse/osgi/framework/adaptor/*:~org/eclipse/osgi/framework/debug/*:~org/eclipse/osgi/framework/internal/core/*:~org/eclipse/osgi/framework/internal/protocol/*:~org/eclipse/osgi/framework/internal/protocol/bundleentry/*:~org/eclipse/osgi/framework/internal/protocol/bundleresource/*:~org/eclipse/osgi/framework/internal/protocol/reference/*:~org/eclipse/osgi/framework/internal/reliablefile/*:~org/eclipse/osgi/framework/util/*:~org/eclipse/osgi/internal/baseadaptor/*:~org/eclipse/osgi/internal/composite/*:~org/eclipse/osgi/internal/loader/*:~org/eclipse/osgi/internal/loader/buddy/*:~org/eclipse/osgi/internal/module/*:~org/eclipse/osgi/internal/profile/*:~org/eclipse/osgi/internal/resolver/*:~org/eclipse/osgi/internal/serviceregistry/*:~org/eclipse/osgi/internal/permadmin/*:~org/eclipse/osgi/internal/provisional/service/security/*:~org/eclipse/osgi/internal/provisional/verifier/*:~org/eclipse/osgi/internal/service/security/*:~org/eclipse/osgi/internal/signedcontent/*:~org/eclipse/osgi/service/internal/composite/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar[~org/eclipse/core/internal/boot/*:~org/eclipse/core/internal/runtime/*:+org/eclipse/core/runtime/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar[~org/eclipse/core/internal/jobs/*:+org/eclipse/core/runtime/jobs/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800/runtime_registry_compatibility.jar[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar[~org/eclipse/core/internal/preferences/*:~org/eclipse/core/internal/preferences/exchange/*:+org/eclipse/core/runtime/preferences/*:+org/osgi/service/prefs/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar[~org/eclipse/core/internal/content/*:+org/eclipse/core/runtime/content/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.100.v20090413.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.app_1.2.1.R35x_v20091203.jar[+org/eclipse/equinox/app/*:~org/eclipse/equinox/internal/app/*:+org/osgi/service/application/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.osgi.services_3.2.0.v20090520-1800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/javax.servlet_2.5.0.v200806031605.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.swt_3.5.2.v3557f.jar[+org/eclipse/swt/*:+org/eclipse/swt/accessibility/*:+org/eclipse/swt/awt/*:+org/eclipse/swt/browser/*:+org/eclipse/swt/custom/*:+org/eclipse/swt/dnd/*:+org/eclipse/swt/events/*:+org/eclipse/swt/graphics/*:+org/eclipse/swt/layout/*:+org/eclipse/swt/opengl/*:+org/eclipse/swt/printing/*:+org/eclipse/swt/program/*:+org/eclipse/swt/widgets/*:~org/eclipse/swt/internal/*:~org/eclipse/swt/internal/image/*:~org/eclipse/swt/internal/theme/*:~org/eclipse/swt/internal/accessibility/gtk/*:~org/eclipse/swt/internal/cairo/*:~org/eclipse/swt/internal/cde/*:~org/eclipse/swt/internal/gnome/*:~org/eclipse/swt/internal/gtk/*:~org/eclipse/swt/internal/mozilla/*:~org/eclipse/swt/internal/opengl/glx/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar[+org/eclipse/swt/*:+org/eclipse/swt/accessibility/*:+org/eclipse/swt/awt/*:+org/eclipse/swt/browser/*:+org/eclipse/swt/custom/*:+org/eclipse/swt/dnd/*:+org/eclipse/swt/events/*:+org/eclipse/swt/graphics/*:+org/eclipse/swt/layout/*:+org/eclipse/swt/opengl/*:+org/eclipse/swt/printing/*:+org/eclipse/swt/program/*:+org/eclipse/swt/widgets/*:~org/eclipse/swt/internal/*:~org/eclipse/swt/internal/image/*:~org/eclipse/swt/internal/theme/*:~org/eclipse/swt/internal/accessibility/gtk/*:~org/eclipse/swt/internal/cairo/*:~org/eclipse/swt/internal/cde/*:~org/eclipse/swt/internal/gnome/*:~org/eclipse/swt/internal/gtk/*:~org/eclipse/swt/internal/mozilla/*:~org/eclipse/swt/internal/opengl/glx/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface_3.5.2.M20100120-0800.jar[+org/eclipse/jface/*:+org/eclipse/jface/action/*:+org/eclipse/jface/action/images/*:+org/eclipse/jface/bindings/*:+org/eclipse/jface/bindings/keys/*:+org/eclipse/jface/bindings/keys/formatting/*:+org/eclipse/jface/commands/*:+org/eclipse/jface/contexts/*:+org/eclipse/jface/dialogs/*:+org/eclipse/jface/dialogs/images/*:+org/eclipse/jface/fieldassist/*:+org/eclipse/jface/fieldassist/images/*:+org/eclipse/jface/images/*:~org/eclipse/jface/internal/*:~org/eclipse/jface/internal/provisional/action/*:+org/eclipse/jface/layout/*:+org/eclipse/jface/menus/*:+org/eclipse/jface/operation/*:+org/eclipse/jface/preference/*:+org/eclipse/jface/preference/images/*:+org/eclipse/jface/resource/*:+org/eclipse/jface/util/*:+org/eclipse/jface/viewers/*:+org/eclipse/jface/viewers/deferred/*:+org/eclipse/jface/window/*:+org/eclipse/jface/wizard/*:+org/eclipse/jface/wizard/images/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.commands_3.5.0.I20090525-2000.jar[+org/eclipse/core/commands/*:+org/eclipse/core/commands/common/*:+org/eclipse/core/commands/contexts/*:+org/eclipse/core/commands/operations/*:+org/eclipse/core/commands/util/*:~org/eclipse/core/internal/commands/operations/*:~org/eclipse/core/internal/commands/util/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench_3.5.2.M20100113-0800.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/compatibility.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/e4-workbench.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/com.ibm.icu_4.0.1.v20090822.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.help_3.4.1.v20090805_35x.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.expressions_3.4.101.R35x_v20100209.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface.databinding_1.3.1.M20090826-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding.observable_1.2.0.M20090902-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding.property_1.2.0.M20090819-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding_1.2.0.M20090819-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.resources.compatibility_3.4.1.R35x_v20100113-0530.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.core.resources.nl_ko/org.eclipse.core.resources.nl_ko_3.5.0.v20100814074441.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.core.resources.nl_ko[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ant.core_3.2.101.v20091110_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.variables_3.2.200.v20090521.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filesystem_1.2.1.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filesystem.linux.x86_1.3.0.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.forms_3.4.1.v20090714_35x.jar[+org/eclipse/ui/forms/*:+org/eclipse/ui/forms/editor/*:+org/eclipse/ui/forms/events/*:+org/eclipse/ui/forms/widgets/*:~org/eclipse/ui/internal/forms/*:~org/eclipse/ui/internal/forms/widgets/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common/bin/[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common_1.3.20.201103241558/bin/[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common/@dot[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/bin[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/bin[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/e4-ide.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/e4-ide.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/@dot[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/@dot[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.views_3.4.1.M20090826-0800.jar[~org/eclipse/ui/internal/views/*:~org/eclipse/ui/internal/views/contentoutline/*:~org/eclipse/ui/internal/views/properties/*:+org/eclipse/ui/views/contentoutline/*:+org/eclipse/ui/views/properties/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface.text_3.5.2.r352_v20091118-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.text_3.5.0.v20090513-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.engine_1.0.102.R35x_v20091117.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.core_1.0.101.R35x_v20090819.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.metadata_1.0.101.R35x_v20100112.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.metadata.repository_1.0.101.R35x_v20090812.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.repository_1.0.1.R35x_v20100105.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.security_1.0.100.v20090520-1800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.filetransfer_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.ssl_1.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.concurrent_1.0.1.R35x_v20100209.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.identity_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.provider.filetransfer_3.0.1.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.net_1.2.1.r35x_20090812-1200.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.net.linux.x86_1.1.0.I20081021.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.artifact.repository_1.0.101.R35x_v20090721.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.100.v20090520-1905.jar[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector/bin/[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector_1.3.20.201103241558/bin/[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector/@dot[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection/bin[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection_1.3.20.201103241558/bin[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection/@dot[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection_1.3.20.201103241558/@dot[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.linux/bin/[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.linux/@dot[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.windows/bin/[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.windows/@dot[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.console_3.4.0.v20090513.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.texteditor_3.5.1.r352_v20100105.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.compare.core_3.5.0.I20090430-0408.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.debug.ui_3.5.2.v20091028_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.debug.core_3.5.1.v20091103_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.editors_3.5.0.v20090527-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filebuffers_3.5.0.v20090526-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.ui_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.services_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.core_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.efs_2.1.100.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.files.core_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.processes.core_3.1.0.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.shells.core_3.1.0.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.terminals.core_1.0.1.v200908051630.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/com.jcraft.jsch_0.1.41.v200903070017.jar[?**/*]
diff --git a/com.samsung.linuxplatform.telephony.call/plugin.xml b/com.samsung.linuxplatform.telephony.call/plugin.xml
new file mode 100644 (file)
index 0000000..eec0977
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<?eclipse version="3.2"?>\r
+<plugin>\r
+       <extension\r
+         point="com.samsung.linuxplatform.injector.injectorItemProvider">\r
+      <itemType\r
+               category="Telephony"\r
+            class="com.samsung.linuxplatform.telephony.call.TelephonyCall"\r
+            id="com.samsung.linuxplatform.telephony.call.TelephonyCall"\r
+            name="Telephony Call">\r
+      </itemType>\r
+   </extension>\r
+</plugin>\r
diff --git a/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/TelephonyCall.java b/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/TelephonyCall.java
new file mode 100644 (file)
index 0000000..f1166fe
--- /dev/null
@@ -0,0 +1,37 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.call;
+
+import java.util.ArrayList;
+
+import org.eclipse.jface.viewers.TableViewer;
+
+import com.samsung.freshide.common.model.DefaultTableModel;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+import com.samsung.linuxplatform.telephony.call.model.CallListVO;
+import com.samsung.linuxplatform.telephony.call.page.MOMTCall;
+import com.samsung.linuxplatform.telephony.call.page.RemoteParty;
+
+public class TelephonyCall extends AbstractInjectorItem {
+
+       private DefaultTableModel model = new DefaultTableModel(new CallListVO());
+       @Override
+       protected void addPages() {
+               addPage(new MOMTCall(this, "MO/MT Call", model));
+//             addPage(new RemoteParty(this, "Remote Party", model));
+       }
+       
+       private ArrayList<TableViewer> viewerList = new ArrayList<TableViewer>();
+       public void addViewer(TableViewer viewer){
+               viewerList.add(viewer);
+       }
+       
+       public void refresh(){
+               for(int i=0;i<viewerList.size();i++){
+                       viewerList.get(i).refresh();
+               }
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/model/CallListVO.java b/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/model/CallListVO.java
new file mode 100644 (file)
index 0000000..da1b681
--- /dev/null
@@ -0,0 +1,92 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.call.model;
+
+import com.samsung.freshide.common.model.AbstractTableVO;
+
+public class CallListVO extends AbstractTableVO {
+
+       private int callId;
+       private int status;
+       private int multiParty;
+       private int momt;
+       private String number;
+       
+       public int getCallId() {
+               return callId;
+       }
+
+       public void setCallId(int callId) {
+               this.callId = callId;
+       }
+
+       public int getStatus() {
+               return status;
+       }
+
+       public void setStatus(int status) {
+               this.status = status;
+       }
+
+       public int getMultiParty() {
+               return multiParty;
+       }
+
+       public void setMultiParty(int multiParty) {
+               this.multiParty = multiParty;
+       }
+
+       public int getMomt() {
+               return momt;
+       }
+
+       public void setMomt(int momt) {
+               this.momt = momt;
+       }
+
+       public String getNumber() {
+               return number;
+       }
+
+       public void setNumber(String number) {
+               this.number = number;
+       }
+
+       @Override
+       public String[] getColumnNames() {
+               return null;
+       }
+
+       @Override
+       public Object getColumnValue(int index) {
+               Object obj = null;
+               switch (index) {
+                       case 0:
+                               obj = getCallId();
+                               break;
+                       case 1:
+                               obj = getStatus();
+                               break;
+                       case 2:
+                               obj = getMultiParty();
+                               break;
+                       case 3:
+                               obj = getMomt();
+                               break;
+                       case 4:
+                               obj = getNumber();
+                               break;
+                       default:
+                               break;
+               }
+               return obj;
+       }
+
+       @Override
+       public void setColumnValue(int index, Object value) {
+
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/page/MOMTCall.java b/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/page/MOMTCall.java
new file mode 100644 (file)
index 0000000..bc754c7
--- /dev/null
@@ -0,0 +1,446 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.call.page;
+
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.jface.viewers.ComboBoxCellEditor;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+
+import com.samsung.freshide.common.control.TableViewContentProvider;
+import com.samsung.freshide.common.control.TableViewLabelProvider;
+import com.samsung.freshide.common.model.DefaultTableModel;
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+import com.samsung.linuxplatform.injector.protocol.StructureGA;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorPage;
+import com.samsung.linuxplatform.injector.receiver.AbstractInjectorReceiver;
+import com.samsung.linuxplatform.telephony.call.TelephonyCall;
+import com.samsung.linuxplatform.telephony.call.model.CallListVO;
+import com.samsung.linuxplatform.telephony.call.protocol.G01A07;
+import com.samsung.linuxplatform.telephony.call.protocol.G01A21MO;
+import com.samsung.linuxplatform.telephony.call.protocol.G01A21MT;
+import com.samsung.linuxplatform.telephony.call.protocol.G01A22;
+import com.samsung.linuxplatform.telephony.call.protocol.G01A22End;
+import com.samsung.linuxplatform.telephony.call.protocol.G01A23;
+import com.samsung.linuxplatform.telephony.call.protocol.G01A26;
+import com.samsung.linuxplatform.telephony.call.protocol.G01A29;
+import com.samsung.linuxplatform.telephony.call.protocol.G01A62;
+import com.samsung.linuxplatform.telephony.call.resource.ErrorCode;
+
+public class MOMTCall  extends AbstractInjectorPage{
+       
+       public MOMTCall(AbstractInjectorItem item, String name, DefaultTableModel model) {
+               super(item, name);
+               this.model = model;
+       }
+
+       private final String[] CALL_TYPE_LIST = {
+                       "NONE", "VOICE", "DATA", "VIDEO", "MAX"
+       };
+       
+       private String defaultErrorCode = "No-Errors";
+       private ErrorCode ERROR_CODE_LIST = new ErrorCode();
+       
+       private final String[] STATUS = { "ACTIVE", "HELD", "DIALING", "ALERT",
+                       "INCOMMING", "WAITING", "MAX" };
+       private final String[] MO_MT = { "MO", "MT", "MAX" };
+       private final String[] MULTIPARTY = { "FALSE", "TRUE" };
+       
+       private Label lblMOCallCallId, lblMOCallNumber, lblMOCallCallType;
+       private Button butMOCall;
+       private Combo cmbMOCallCallStatus;
+       private int MOCallevent; //0 - alert, 1 - connect, 2 - disconnect 
+
+       private Text txtMTCallNumber;
+       private Button butMTCallHidden, butMTCallForwardedCall;
+       private Button butMTCallConnect;
+       
+//     private Text txtCallListInformationCallId;
+       private Combo cmbCallListInformationCallStatus;
+       private Button butCallListInformationCallEnd;
+       
+       private TableViewer viewer;
+       private DefaultTableModel model;
+       
+       protected void registerReceivers() {
+               registerReceiver(new CallList22Receiver());
+               registerReceiver(new CallList26Receiver());
+               registerReceiver(new CallList29Receiver());
+               registerReceiver(new CallReceiver());
+       }
+       
+       protected void createContents() {
+               createMOCallSection();
+               createMTCallSection();
+               createCallListInformationSection();
+               ((TelephonyCall)getParent()).addViewer(viewer);
+       }
+
+       private void createMOCallSection() {
+               Composite client = formUtil.createSection(parent, "MO Call");
+               
+               Composite mainComposite = formUtil.createComposite(client, 2);
+
+               String emptyStr = "                                              ";
+               formUtil.createLabel(mainComposite, "Call ID : ");
+               lblMOCallCallId = formUtil.createLabel(mainComposite, emptyStr);
+               formUtil.createLabel(mainComposite, "Number : ");
+               lblMOCallNumber = formUtil.createLabel(mainComposite, emptyStr);
+               formUtil.createLabel(mainComposite, "Call Type : ");
+               lblMOCallCallType =  formUtil.createLabel(mainComposite, emptyStr);
+               
+               Composite subComposite = formUtil.createComposite(client, 2);
+               cmbMOCallCallStatus = formUtil.createCombo(subComposite);
+               cmbMOCallCallStatus.setEnabled(false);
+               formUtil.addComboItem(cmbMOCallCallStatus, ERROR_CODE_LIST.getErrorList(), defaultErrorCode);
+               butMOCall = formUtil.createButton(subComposite, "Disconnet", SWT.PUSH);
+               butMOCall.setEnabled(false);
+               MOCallevent = 0;
+               butMOCall.addSelectionListener(new SelectionAdapter(){
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               switch (MOCallevent) {
+                               case 0:
+                                       moAlert();
+                                       break;
+                               case 1:
+                                       moConnect();
+                                       break;
+                               default:
+                                       moDisconnect();
+                                       break;
+                               }
+                       }
+               });
+       }
+
+       private void createMTCallSection() {
+               Composite client = formUtil.createSection(parent, "MT Call");
+               
+               Composite mainComposite = formUtil.createComposite(client, 3);
+               formUtil.createLabel(mainComposite, "Number : ");
+               txtMTCallNumber = formUtil.createText(mainComposite, "", 2);
+               
+               formUtil.createLabel(mainComposite, "Call Type : ");
+               butMTCallHidden = formUtil.createButton(mainComposite, "Hidden", SWT.CHECK);
+               butMTCallForwardedCall = formUtil.createButton(mainComposite, "Forwarded Call", SWT.CHECK);
+               
+               Composite buttonComposite = formUtil.createComposite(client,1);
+               butMTCallConnect = formUtil.createButton(buttonComposite, "Connect", SWT.PUSH);
+               butMTCallConnect.addSelectionListener( new SelectionAdapter(){
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               mtConnecct();
+                       }
+               });
+       }
+
+       private void createCallListInformationSection() {
+               Composite client = formUtil.createSection(parent, "Call List Information");
+               
+//             client.setData(new GridData(GridData.FILL, GridData.FILL, true, false));
+               
+               String[] columnNames = {
+                               "Call Id", "Status", "Multiparty", "MO/MT", "Number"    
+               };
+               
+               viewer = formUtil.createTableViewer(client, columnNames);
+               viewer.setCellEditors(new CellEditor[]{
+                       null, 
+                       new ComboBoxCellEditor(viewer.getTable(), STATUS),
+                       new ComboBoxCellEditor(viewer.getTable(), MULTIPARTY),
+                       new ComboBoxCellEditor(viewer.getTable(), MO_MT),
+                       null
+               });
+               viewer.setContentProvider(new TableViewContentProvider());
+               viewer.setLabelProvider(new TableViewLabelProvider(viewer));
+               viewer.setInput(model);
+               viewer.addSelectionChangedListener(new ISelectionChangedListener () {
+
+                       @Override
+                       public void selectionChanged(SelectionChangedEvent event) {
+                               IStructuredSelection selection = (IStructuredSelection)viewer.getSelection();
+                               if(selection.isEmpty()) {
+                                       cmbCallListInformationCallStatus.setEnabled(false);
+                                       butCallListInformationCallEnd.setEnabled(false);
+                               } else {
+                                       cmbCallListInformationCallStatus.setEnabled(true);
+                                       butCallListInformationCallEnd.setEnabled(true);
+                               }
+                       }
+               });
+               
+               Composite subComposite = formUtil.createComposite(client, 2);
+               cmbCallListInformationCallStatus = formUtil.createCombo(subComposite);
+               formUtil.addComboItem(cmbCallListInformationCallStatus, ERROR_CODE_LIST.getErrorList(), defaultErrorCode);
+               cmbCallListInformationCallStatus.setEnabled(false);
+               butCallListInformationCallEnd = formUtil.createButton(subComposite, "Disconnect", SWT.PUSH);
+               butCallListInformationCallEnd.addSelectionListener( new SelectionAdapter(){
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               callEnd();
+                       }
+               });
+               butCallListInformationCallEnd.setEnabled(false);
+       }
+       
+       private void callEnd(){
+               IStructuredSelection selection = (IStructuredSelection)viewer.getSelection();
+               if (selection.isEmpty())
+                       return;
+               
+               Object [] objs = selection.toArray();
+               for (int i = 0; i < objs.length; i++) {
+                       int errorCode = ERROR_CODE_LIST.getKey(cmbCallListInformationCallStatus.getText());
+                       int errorCause0 = errorCode & 0x00ff;
+                       int errorCause1 = (errorCode>>8) & 0x00ff;
+                       int callId = ((CallListVO)objs[i]).getCallId();
+                       
+                       G01A07 ga1 = new G01A07();
+                       ga1.intialize();
+                       
+                       StructureGA sga1 = ga1.getBody();
+                       sga1.setInt("ERROR_CAUSE_0", errorCause0);
+                       sga1.setInt("ERROR_CAUSE_1", errorCause1);
+                       
+                       G01A22End ga2 = new G01A22End();
+                       ga2.intialize();
+                       
+                       StructureGA sga2 = ga2.getBody();
+                       sga2.setInt("CALL_ID", callId);
+                       
+                       try {
+                               injectorSocket.send(ga1);
+                               injectorSocket.send(ga2);
+                               
+                               String mocallID = lblMOCallCallId.getText();
+                               if(callId == Integer.parseInt(mocallID)) {
+                                       cmbMOCallCallStatus.setEnabled(false);
+                                       butMTCallConnect.setEnabled(true);
+                                       
+                                       butMOCall.setEnabled(false);
+                                       MOCallevent = 0;
+                                       
+                                       lblMOCallCallId.setText("");
+                                       lblMOCallNumber.setText("");
+                                       lblMOCallCallType.setText("");
+                               }
+                       } catch (Exception e) {
+                               e.printStackTrace();
+                       }
+               }
+       }
+       
+       private void moDisconnect() {
+               int errorCode = ERROR_CODE_LIST.getKey(cmbMOCallCallStatus.getText());
+               int errorCause0 = errorCode & 0x00ff;
+               int errorCause1 = (errorCode>>8) & 0x00ff;
+               String callId = lblMOCallCallId.getText();
+               
+               G01A07 ga1 = new G01A07();
+               ga1.intialize();
+
+               StructureGA sga1 = ga1.getBody();
+               sga1.setInt("ERROR_CAUSE_0", errorCause0);
+               sga1.setInt("ERROR_CAUSE_1", errorCause1);
+               
+               G01A22End ga2 = new G01A22End();
+               ga2.intialize();
+               
+               StructureGA sga2 = ga2.getBody();
+               sga2.setInt("CALL_ID", Integer.parseInt(callId));
+               
+               try {
+                       injectorSocket.send(ga1);
+                       injectorSocket.send(ga2);
+                       
+                       cmbMOCallCallStatus.setEnabled(false);
+                       butMTCallConnect.setEnabled(true);
+                       
+                       butMOCall.setEnabled(false);
+                       MOCallevent = 0;
+                       
+                       lblMOCallCallId.setText("");
+                       lblMOCallNumber.setText("");
+                       lblMOCallCallType.setText("");
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+       
+       private void moAlert() {
+               G01A62 ga = new G01A62();
+               ga.intialize();
+               
+               try {
+                       injectorSocket.send(ga);
+                       
+                       butMTCallConnect.setEnabled(true);
+                       butMOCall.setText("Connect");
+                       MOCallevent = 1;
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+       
+       private void moConnect() {
+               G01A23 ga = new G01A23();
+               ga.intialize();
+               
+               try {
+                       injectorSocket.send(ga);
+                       
+                       butMOCall.setText("Disconnet");
+                       MOCallevent = 2;
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+       
+       private void mtConnecct() {
+               String number = txtMTCallNumber.getText().trim();
+               if(number==null||number.length()==0)
+                       return;
+               
+               int voice = 0x01;//butMTCallVoice.getSelection()?0x01:0x02;
+               int forwardedCal = butMTCallForwardedCall.getSelection()?0x33:0x00;
+               int hidden = butMTCallHidden.getSelection()?0x01:0x00;
+               int numType=0x01;
+               int cliPresendInd = 0x01;//cmbMTCallCliPresendInd.getSelectionIndex()+1;
+               int noCliCause = 0x00;//cmbMTCallNoCliCause.getSelectionIndex();
+               
+               G01A21MT ga = new G01A21MT();
+               ga.intialize();
+               
+               StructureGA sga = ga.getBody();
+               sga.setInt("CALL_TYPE", voice);
+               sga.setInt("FORWARDED_STATUS", forwardedCal);
+               sga.setInt("CLIR_STATUS",hidden);
+               sga.setInt("NUM_LEN",number.getBytes().length);
+               sga.setInt("NUM_TYPE", numType);
+               sga.setInt("CLI_PRESENT_ID", cliPresendInd);
+               sga.setInt("NO_CLI_CAUSE", noCliCause);
+               sga.setByteArray("CALL_NUMBER", number.getBytes());
+               
+               try {
+                       injectorSocket.send(ga);
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+       
+       public class CallList22Receiver extends AbstractInjectorReceiver{ //끊었을 때
+               public void run(AbstractGA aga) {
+                       model.clear();
+                       StructureGA header = aga.getHeader();
+                       int loopCount = header.getInt("COUNT");
+                       
+                       StructureGA body = aga.getBody();
+                       for(int i=0; i < loopCount; i++){
+                               CallListVO cl = new CallListVO();
+                               cl.setCallId(body.getInt("IDX",i));
+                               cl.setStatus(body.getInt("STAT",i)-1);
+                               cl.setMultiParty(body.getInt("MULTIPARTY",i));
+                               cl.setMomt(body.getInt("CALL_TYPE",i)-1);
+                               cl.setNumber(new String(body.getByteArray("NUMBER",i)).trim());
+                               model.add(cl);
+                       }
+                       ((TelephonyCall)getParent()).refresh();
+               }
+               @Override
+               public AbstractGA createTransferObject() {
+                       return new G01A22();
+               }
+       }
+       
+       public class CallList26Receiver extends AbstractInjectorReceiver{ //받았을 때
+               @Override
+               public void run(AbstractGA aga) {
+                       model.clear();
+                       StructureGA header = aga.getHeader();
+                       int loopCount = header.getInt("COUNT");
+                       
+                       StructureGA body = aga.getBody();
+                       for(int i=0; i < loopCount; i++){
+                               CallListVO cl = new CallListVO();
+                               cl.setCallId(body.getInt("IDX",i));
+                               cl.setStatus(body.getInt("STAT",i)-1);
+                               cl.setMultiParty(body.getInt("MULTIPARTY",i));
+                               cl.setMomt(body.getInt("CALL_TYPE",i)-1);
+                               cl.setNumber(new String(body.getByteArray("NUMBER",i)).trim());
+                               model.add(cl);
+                       }
+                       ((TelephonyCall)getParent()).refresh();
+               }
+               @Override
+               public AbstractGA createTransferObject() {
+                       return new G01A26();
+               }
+       }
+       
+       public class CallList29Receiver extends AbstractInjectorReceiver{//걸릴때
+               @Override
+               public void run(AbstractGA aga) {
+                       model.clear();
+                       StructureGA header = aga.getHeader();
+                       int loopCount = header.getInt("COUNT");
+                       
+                       StructureGA body = aga.getBody();
+                       for(int i=0; i < loopCount; i++){
+                               CallListVO cl = new CallListVO();
+                               cl.setCallId(body.getInt("IDX",i));
+                               cl.setStatus(body.getInt("STAT",i)-1);
+                               cl.setMultiParty(body.getInt("MULTIPARTY",i));
+                               cl.setMomt(body.getInt("CALL_TYPE",i)-1);
+                               cl.setNumber(new String(body.getByteArray("NUMBER",i)).trim());
+                               model.add(cl);
+                       }
+                       ((TelephonyCall)getParent()).refresh();
+               }
+               @Override
+               public AbstractGA createTransferObject() {
+                       return new G01A29();
+               }
+       }
+       
+       public class CallReceiver extends AbstractInjectorReceiver{
+               @Override
+               public void run(AbstractGA aga) {
+                       StructureGA sga = aga.getBody();
+                       int callId = sga.getInt("CALL_ID");
+                       int callType = sga.getInt("CALL_TYPE") - 1;
+                       String callNumber = new String(sga.getByteArray("CALL_NUMBER")).trim();
+                       
+                       lblMOCallCallId.setText(new Integer(callId).toString());
+                       lblMOCallNumber.setText(callNumber);
+                       lblMOCallCallType.setText(CALL_TYPE_LIST[callType]);
+                       
+                       butMOCall.setEnabled(true);
+                       butMOCall.setText("Alert");
+                       MOCallevent = 0;
+                       
+                       cmbMOCallCallStatus.setEnabled(true);
+                       
+                       butMTCallConnect.setEnabled(false);
+               }
+               
+               @Override
+               public AbstractGA createTransferObject() {
+                       return new G01A21MO();
+               }
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/page/RemoteParty.java b/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/page/RemoteParty.java
new file mode 100644 (file)
index 0000000..98496c1
--- /dev/null
@@ -0,0 +1,259 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.call.page;
+
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.jface.viewers.ComboBoxCellEditor;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+
+import com.samsung.freshide.common.control.TableViewContentProvider;
+import com.samsung.freshide.common.control.TableViewLabelProvider;
+import com.samsung.freshide.common.model.DefaultTableModel;
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+import com.samsung.linuxplatform.injector.protocol.StructureGA;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorPage;
+import com.samsung.linuxplatform.telephony.call.TelephonyCall;
+import com.samsung.linuxplatform.telephony.call.protocol.G01A07;
+import com.samsung.linuxplatform.telephony.call.protocol.G01A22End;
+import com.samsung.linuxplatform.telephony.call.protocol.G03A58;
+import com.samsung.linuxplatform.telephony.call.protocol.G03A59;
+import com.samsung.linuxplatform.telephony.call.protocol.G0DA09;
+import com.samsung.linuxplatform.telephony.call.protocol.G0DA0B;
+import com.samsung.linuxplatform.telephony.call.resource.ErrorCode;
+
+public class RemoteParty  extends AbstractInjectorPage{
+       
+       public RemoteParty(AbstractInjectorItem item, String name, DefaultTableModel model) {
+               super(item, name);
+               this.model = model;
+       }
+
+       private final String[] CALL_PROCESS_LIST = {
+                       "Hold/Retrieve", "Join", "Split"
+       };
+       
+       private String defaultErrorCode = "No-Errors";
+       private ErrorCode ERROR_CODE_LIST = new ErrorCode();
+
+       private final String[] STATUS = { "ACTIVE", "HELD", "DIALING", "ALERT",
+                       "INCOMMING", "WAITING", "MAX" };
+       private final String[] MO_MT = { "MO", "MT", "MAX" };
+       private final String[] MULTIPARTY = { "FALSE", "TRUE" };
+       
+       private Text txtCallListInformationCallId;
+       private Combo cmbCallListInformationCallStatus;
+       private Button butCallListInformationCallEnd;
+       
+       private Button butRemotePartyHold, butRemotePartyActive, butRemotePartySet;
+       private Combo cmbRemotePartyCallProcess, cmbRemotePartyCallStatus;
+       
+       private TableViewer viewer;
+       private DefaultTableModel model;
+       
+       protected void createContents() {
+               createCallListInformationSection();
+               createRemoteParty();
+               ((TelephonyCall)getParent()).addViewer(viewer);
+       }
+
+       protected void registerReceivers() {
+       }
+       
+       private void createCallListInformationSection() {
+               Composite client = formUtil.createSection(parent, "Call List Information");
+
+               Composite mainComposite = formUtil.createComposite(client);
+               String[] columnNames = { "Call Id", "Status", "Multiparty", "MO/MT",
+                               "Number" };
+               viewer = formUtil.createTableViewer(mainComposite, columnNames);
+               viewer.setCellEditors(new CellEditor[]{
+                       null, 
+                       new ComboBoxCellEditor(viewer.getTable(), STATUS),
+                       new ComboBoxCellEditor(viewer.getTable(), MULTIPARTY),
+                       new ComboBoxCellEditor(viewer.getTable(), MO_MT),
+                       null
+               });
+               viewer.setContentProvider(new TableViewContentProvider());
+               viewer.setLabelProvider(new TableViewLabelProvider(viewer));
+               viewer.setInput(model);
+               
+               Composite buttonComposite = formUtil.createComposite(mainComposite,4);
+               formUtil.createLabel(buttonComposite, "Call Id : ");
+               txtCallListInformationCallId = formUtil.createText(buttonComposite, "");
+               txtCallListInformationCallId.setTextLimit(1);
+               cmbCallListInformationCallStatus = formUtil.createCombo(buttonComposite);
+               formUtil.addComboItem(cmbCallListInformationCallStatus, ERROR_CODE_LIST.getErrorList(), defaultErrorCode);
+               butCallListInformationCallEnd = formUtil.createButton(buttonComposite, "Call End",SWT.PUSH);
+               butCallListInformationCallEnd.addSelectionListener( new SelectionAdapter(){
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               callEnd();
+                       }
+               });
+       
+       }
+       
+       private void createRemoteParty() {
+               Composite client = formUtil.createSection(parent, "Remote Party");
+               
+               Composite mainComposite = formUtil.createComposite(client);
+               formUtil.createLabel(mainComposite, "Notify Indication");
+               Composite buttonComposite = formUtil.createComposite(mainComposite,2);
+               butRemotePartyHold = formUtil.createButton(buttonComposite, "Hold",SWT.PUSH);
+               butRemotePartyHold.addSelectionListener( new SelectionAdapter(){
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               hold();
+                       }
+               });
+               butRemotePartyActive = formUtil.createButton(buttonComposite, "Active",SWT.PUSH);
+               butRemotePartyActive.addSelectionListener( new SelectionAdapter(){
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               active();
+                       }
+               });
+               
+               formUtil.createLabel(mainComposite, "Set Response Error");
+               buttonComposite = formUtil.createComposite(mainComposite,3);
+               cmbRemotePartyCallProcess = formUtil.createCombo(buttonComposite);
+               formUtil.addComboItem(cmbRemotePartyCallProcess, CALL_PROCESS_LIST);
+               cmbRemotePartyCallStatus = formUtil.createCombo(buttonComposite);
+               formUtil.addComboItem(cmbRemotePartyCallStatus, ERROR_CODE_LIST.getErrorList(), defaultErrorCode);
+               butRemotePartySet = formUtil.createButton(buttonComposite, "Set",SWT.PUSH);
+               butRemotePartySet.addSelectionListener( new SelectionAdapter(){
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               int idx = cmbRemotePartyCallProcess.getSelectionIndex();
+                               if(idx==0)
+                                       holdRetrieve();
+                               else if(idx==1)
+                                       join();
+                               else if(idx==2)
+                                       split();
+                       }
+               });
+               
+       }
+       
+       private void callEnd(){
+               int errorCode = ERROR_CODE_LIST.getKey(cmbCallListInformationCallStatus.getText());
+               int errorCause0 = errorCode & 0x00ff;
+               int errorCause1 = (errorCode>>8) & 0x00ff;
+               String callId = txtCallListInformationCallId.getText();
+               
+               G01A07 ga1 = new G01A07();
+               ga1.intialize();
+               
+               StructureGA sga1 = ga1.getBody();
+               sga1.setInt("ERROR_CAUSE_0", errorCause0);
+               sga1.setInt("ERROR_CAUSE_1", errorCause1);
+               
+               G01A22End ga2 = new G01A22End();
+               ga2.intialize();
+               
+               StructureGA sga2 = ga2.getBody();
+               sga2.setInt("CALL_ID", Integer.parseInt(callId));
+               
+               
+               try {
+                       injectorSocket.send(ga1);
+                       injectorSocket.send(ga2);
+                       
+                       txtCallListInformationCallId.setText("");
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+               
+       private void hold() {
+               G03A58 ga = new G03A58();
+               ga.intialize();
+               
+               try {
+                       injectorSocket.send(ga);
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+       
+       private void active() {
+               G03A59 ga = new G03A59();
+               ga.intialize();
+               
+               try {
+                       injectorSocket.send(ga);
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+       
+       private void holdRetrieve() {
+               AbstractGA[] gas = createResponseErrorGA(new G0DA09());
+               
+               try {
+                       injectorSocket.send(gas[0]);
+                       injectorSocket.send(gas[1]);
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+       
+       private void join() {
+               AbstractGA[] gas = createResponseErrorGA(new G0DA0B());
+               
+               try {
+                       injectorSocket.send(gas[0]);
+                       injectorSocket.send(gas[1]);
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+       
+       private void split() {
+               AbstractGA[] gas = createResponseErrorGA(new G0DA09());
+               
+               try {
+                       injectorSocket.send(gas[0]);
+                       injectorSocket.send(gas[1]);
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+               
+       private AbstractGA[] createResponseErrorGA(AbstractGA ga2){
+               int errorCode = ERROR_CODE_LIST.getKey(cmbRemotePartyCallStatus.getText());
+               int errorCause0 = errorCode & 0x00ff;
+               int errorCause1 = (errorCode>>8) & 0x00ff;
+               
+               G01A07 ga1 = new G01A07();
+               ga1.intialize();
+               
+               StructureGA sga1 = ga1.getBody();
+               sga1.setInt("ERROR_CAUSE_0", errorCause0);
+               sga1.setInt("ERROR_CAUSE_1", errorCause1);
+               
+               ga2.intialize();
+               
+               StructureGA sga2 = ga2.getBody();
+               sga2.setInt("ERROR_CAUSE_0", errorCause0);
+               sga2.setInt("ERROR_CAUSE_1", errorCause1);
+               
+               AbstractGA[] gas = new AbstractGA[2];
+               gas[0] = ga1;
+               gas[1] = ga2;
+               
+               return gas;
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A07.java b/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A07.java
new file mode 100644 (file)
index 0000000..ae4ca11
--- /dev/null
@@ -0,0 +1,27 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.call.protocol;
+
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+import com.samsung.linuxplatform.injector.protocol.StructureGA;
+
+public class G01A07 extends AbstractGA{
+
+       public G01A07(){
+               super(0x01, 0x07);
+       }
+
+       @Override
+       protected void makeBody() {
+               StructureGA ga = getBody();
+               ga.addByteItem("ERROR_CAUSE_0");
+               ga.addByteItem("ERROR_CAUSE_1");
+       }
+
+       @Override
+       protected void makeHeader() {
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A21MO.java b/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A21MO.java
new file mode 100644 (file)
index 0000000..18f9672
--- /dev/null
@@ -0,0 +1,30 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.call.protocol;
+
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+import com.samsung.linuxplatform.injector.protocol.StructureGA;
+
+public class G01A21MO extends AbstractGA{
+
+       public G01A21MO(){
+               super(0x01, 0x21);
+       }
+
+       @Override
+       protected void makeBody() {
+               StructureGA ga = getBody();
+               ga.addByteItem("CALL_ID");
+               ga.addByteItem("CALL_TYPE");
+               ga.addByteItem("LEN");
+               ga.addByteArrayItem("CALL_NUMBER", 10);
+       }
+
+       @Override
+       protected void makeHeader() {
+               
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A21MT.java b/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A21MT.java
new file mode 100644 (file)
index 0000000..d0f51dc
--- /dev/null
@@ -0,0 +1,33 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.call.protocol;
+
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+import com.samsung.linuxplatform.injector.protocol.StructureGA;
+
+public class G01A21MT extends AbstractGA{
+
+       public G01A21MT(){
+               super(0x01, 0x21);
+       }
+
+       @Override
+       protected void makeBody() {
+               StructureGA ga = getBody();
+               ga.addByteItem("CALL_TYPE");
+               ga.addByteItem("FORWARDED_STATUS");
+               ga.addByteItem("CLIR_STATUS");
+               ga.addByteItem("NUM_LEN");
+               ga.addByteItem("NUM_TYPE");
+               ga.addByteItem("CLI_PRESENT_ID");
+               ga.addByteItem("NO_CLI_CAUSE");
+               ga.addByteArrayItem("CALL_NUMBER", 45);
+       }
+
+       @Override
+       protected void makeHeader() {
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A22.java b/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A22.java
new file mode 100644 (file)
index 0000000..351bc65
--- /dev/null
@@ -0,0 +1,38 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.call.protocol;
+
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+import com.samsung.linuxplatform.injector.protocol.StructureGA;
+
+public class G01A22 extends AbstractGA{
+
+       public G01A22(){
+               super(0x01, 0x22);
+       }
+
+       @Override
+       protected void makeBody() {
+               StructureGA ga = getBody();
+               ga.addIntItem("IDX");
+               ga.addIntItem("DIR");
+               ga.addIntItem("STAT");
+               ga.addIntItem("CALL_TYPE");
+               ga.addByteItem("MULTIPARTY");
+               ga.addByteArrayItem("NUMBER", 32);
+               ga.addByteArrayItem("dummy", 3);
+               ga.addIntItem("TYPE");
+               ga.addIntItem("NUM_LEN");
+               ga.addIntItem("NUM_OF_TYPE");
+               ga.addByteArrayItem("ALPHA",32);
+       }
+
+       @Override
+       protected void makeHeader() {
+               StructureGA ga = getHeader();
+               ga.addIntItem("COUNT");
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A22End.java b/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A22End.java
new file mode 100644 (file)
index 0000000..64c34fa
--- /dev/null
@@ -0,0 +1,26 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.call.protocol;
+
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+import com.samsung.linuxplatform.injector.protocol.StructureGA;
+
+public class G01A22End extends AbstractGA{
+
+       public G01A22End(){
+               super(0x01, 0x22);
+       }
+
+       @Override
+       protected void makeBody() {
+               StructureGA ga = getBody();
+               ga.addByteItem("CALL_ID");
+       }
+
+       @Override
+       protected void makeHeader() {
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A23.java b/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A23.java
new file mode 100644 (file)
index 0000000..7645a45
--- /dev/null
@@ -0,0 +1,23 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.call.protocol;
+
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+
+public class G01A23 extends AbstractGA{
+
+       public G01A23(){
+               super(0x01, 0x23);
+       }
+
+       @Override
+       protected void makeBody() {
+       }
+
+       @Override
+       protected void makeHeader() {
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A26.java b/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A26.java
new file mode 100644 (file)
index 0000000..1b78a08
--- /dev/null
@@ -0,0 +1,38 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.call.protocol;
+
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+import com.samsung.linuxplatform.injector.protocol.StructureGA;
+
+public class G01A26 extends AbstractGA{
+
+       public G01A26(){
+               super(0x01, 0x26);
+       }
+
+       @Override
+       protected void makeBody() {
+               StructureGA ga = getBody();
+               ga.addIntItem("IDX");
+               ga.addIntItem("DIR");
+               ga.addIntItem("STAT");
+               ga.addIntItem("CALL_TYPE");
+               ga.addByteItem("MULTIPARTY");
+               ga.addByteArrayItem("NUMBER", 32);
+               ga.addByteArrayItem("dummy", 3);
+               ga.addIntItem("TYPE");
+               ga.addIntItem("NUM_LEN");
+               ga.addIntItem("NUM_OF_TYPE");
+               ga.addByteArrayItem("ALPHA",32);
+       }
+
+       @Override
+       protected void makeHeader() {
+               StructureGA ga = getHeader();
+               ga.addIntItem("COUNT");
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A29.java b/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A29.java
new file mode 100644 (file)
index 0000000..1119042
--- /dev/null
@@ -0,0 +1,39 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.call.protocol;
+
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+import com.samsung.linuxplatform.injector.protocol.StructureGA;
+
+public class G01A29 extends AbstractGA{
+
+       public G01A29(){
+               super(0x01, 0x29);
+       }
+
+       @Override
+       protected void makeBody() {
+               StructureGA ga = getBody();
+               ga.addIntItem("IDX");
+               ga.addIntItem("DIR");
+               ga.addIntItem("STAT");
+               ga.addIntItem("CALL_TYPE");
+               ga.addByteItem("MULTIPARTY");
+               ga.addByteArrayItem("NUMBER", 32);
+               ga.addByteArrayItem("dummy", 3);
+               ga.addIntItem("TYPE");
+               ga.addIntItem("NUM_LEN");
+               ga.addIntItem("NUM_OF_TYPE");
+               ga.addByteArrayItem("ALPHA",32);
+       }
+
+       @Override
+       protected void makeHeader() {
+               StructureGA ga = getHeader();
+               ga.addIntItem("COUNT");
+       }
+       
+}
diff --git a/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A62.java b/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G01A62.java
new file mode 100644 (file)
index 0000000..5ac82ce
--- /dev/null
@@ -0,0 +1,23 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.call.protocol;
+
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+
+public class G01A62 extends AbstractGA{
+
+       public G01A62(){
+               super(0x01, 0x62);
+       }
+
+       @Override
+       protected void makeBody() {
+       }
+
+       @Override
+       protected void makeHeader() {
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G03A58.java b/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G03A58.java
new file mode 100644 (file)
index 0000000..4fd353a
--- /dev/null
@@ -0,0 +1,23 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.call.protocol;
+
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+
+public class G03A58 extends AbstractGA{
+
+       public G03A58(){
+               super(0x03, 0x58);
+       }
+
+       @Override
+       protected void makeBody() {
+       }
+
+       @Override
+       protected void makeHeader() {
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G03A59.java b/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G03A59.java
new file mode 100644 (file)
index 0000000..de9d050
--- /dev/null
@@ -0,0 +1,23 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.call.protocol;
+
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+
+public class G03A59 extends AbstractGA{
+
+       public G03A59(){
+               super(0x03, 0x59);
+       }
+
+       @Override
+       protected void makeBody() {
+       }
+
+       @Override
+       protected void makeHeader() {
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G0DA09.java b/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G0DA09.java
new file mode 100644 (file)
index 0000000..5b0f104
--- /dev/null
@@ -0,0 +1,27 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.call.protocol;
+
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+import com.samsung.linuxplatform.injector.protocol.StructureGA;
+
+public class G0DA09 extends AbstractGA{
+
+       public G0DA09(){
+               super(0x0d, 0x09);
+       }
+
+       @Override
+       protected void makeBody() {
+               StructureGA ga = getBody();
+               ga.addByteItem("ERROR_CAUSE_0");
+               ga.addByteItem("ERROR_CAUSE_1");
+       }
+
+       @Override
+       protected void makeHeader() {
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G0DA0B.java b/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/protocol/G0DA0B.java
new file mode 100644 (file)
index 0000000..14bddd4
--- /dev/null
@@ -0,0 +1,27 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.call.protocol;
+
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+import com.samsung.linuxplatform.injector.protocol.StructureGA;
+
+public class G0DA0B extends AbstractGA{
+
+       public G0DA0B(){
+               super(0x0d, 0x0b);
+       }
+
+       @Override
+       protected void makeBody() {
+               StructureGA ga = getBody();
+               ga.addByteItem("ERROR_CAUSE_0");
+               ga.addByteItem("ERROR_CAUSE_1");
+       }
+
+       @Override
+       protected void makeHeader() {
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/resource/ErrorCode.java b/com.samsung.linuxplatform.telephony.call/src/com/samsung/linuxplatform/telephony/call/resource/ErrorCode.java
new file mode 100644 (file)
index 0000000..9ab7581
--- /dev/null
@@ -0,0 +1,91 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.call.resource;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+public class ErrorCode {
+       private HashMap<String,Integer> map;
+       private ArrayList<String> list;
+       public ErrorCode(){
+               map = new HashMap<String,Integer>();
+               list = new ArrayList<String>();
+               
+               add(30,"no network service");
+               add(0,"Phone failure");
+               add(1,"No connection to phone");
+               add(2,"Phone-adapter link reserved");
+               add(3,"Operation not allowed");
+               add(4,"Operation not supported");
+               add(5,"PH-SIM PIN required");
+               add(6,"PH-FSIM PIN required");
+               add(7,"PH-FSIM PUK required");
+               add(10,"SIM not inserted(Note)");
+               add(11,"SIM PIN required");
+               add(12,"SIM PUK required");
+               add(13,"SIM failure(Note)");
+               add(14,"SIM busy(Note)");
+               add(15,"SIM wrong(Note)");
+               add(16,"Incorrect password");
+               add(17,"SIM PIN2 required");
+               add(18,"SIM PUK2 required");
+               add(20,"Memory full");
+               add(21,"Invalid Index");
+               add(22,"Not found");
+               add(23,"Memory failure");
+               add(24,"text string too long");
+               add(25,"Invalid characters in text string");
+               add(26,"dial string too long");
+               add(27,"invalid characters in dial string");
+               add(32768,"No-Errors");
+               add(31,"network timeout");
+               add(32,"network not allowed-emergency calls only");
+               add(40,"network personalization PIN required");
+               add(41,"network personalization PUK required");
+               add(42,"network subset personalization PIN required");
+               add(43,"network subset personalization PUK required");
+               add(44,"service provider personalization PIN required");
+               add(45,"service provider personalization PUK required");
+               add(46,"corporated personalization PIN required");
+               add(47,"corporated personalization PUK required");
+               add(48,"hidden key required");
+               add(100,"unknown");
+               add(32769,"invalid IPC format or parameters");
+               add(32770,"Phone is in the Offline state");
+               add(32771,"IPC command not allowed");
+               add(32772,"Phone is in the conversation state");
+               add(32773,"Invalid state");
+               add(32774,"No Internal free buffers");
+               add(32775,"Operation Rejected");
+               add(32776,"Insufficient resource");
+               add(32777,"Network not Respond");
+               add(32778,"SIM Pin enable required");
+               add(32779,"SIM permanent blocked");
+               add(32780,"SIM Phonebook Restricted");
+               add(32781,"Dialing restricted by FDN mode");
+               add(33041,"SS_Error Status");
+               add(33062,"Negative Password Check");
+               add(33068,"numberOfPW _AttemptsViolation - Password");
+       }
+       
+       private void add(int key, String str){
+               map.put(str, key);
+               list.add(str);
+       }
+       
+       public String[] getErrorList(){
+               return list.toArray(new String[size()]);
+       }
+
+       public int size(){
+               return list.size();
+       }
+       
+       public int getKey(String str){
+               return map.get(str);
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.sms/.classpath b/com.samsung.linuxplatform.telephony.sms/.classpath
new file mode 100644 (file)
index 0000000..ad32c83
--- /dev/null
@@ -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/JavaSE-1.6"/>
+       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+       <classpathentry kind="src" path="src"/>
+       <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/com.samsung.linuxplatform.telephony.sms/.project b/com.samsung.linuxplatform.telephony.sms/.project
new file mode 100644 (file)
index 0000000..199c81e
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>com.samsung.linuxplatform.telephony.sms</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/com.samsung.linuxplatform.telephony.sms/.settings/org.eclipse.core.resources.prefs b/com.samsung.linuxplatform.telephony.sms/.settings/org.eclipse.core.resources.prefs
new file mode 100644 (file)
index 0000000..540d0ab
--- /dev/null
@@ -0,0 +1,3 @@
+#Wed Dec 01 09:09:30 CET 2010
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/com.samsung.linuxplatform.telephony.sms/.settings/org.eclipse.core.runtime.prefs b/com.samsung.linuxplatform.telephony.sms/.settings/org.eclipse.core.runtime.prefs
new file mode 100644 (file)
index 0000000..324e13f
--- /dev/null
@@ -0,0 +1,3 @@
+#Tue Dec 14 16:32:05 CET 2010
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/com.samsung.linuxplatform.telephony.sms/META-INF/MANIFEST.MF b/com.samsung.linuxplatform.telephony.sms/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..54fea50
--- /dev/null
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: com.samsung.linuxplatform.telephony.sms;singleton:=true
+Bundle-Version: 1.3.20.qualifier
+Bundle-Vendor: %Bundle-Vendor
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ com.samsung.freshide.common;bundle-version="1.0.2",
+ org.eclipse.ui.forms;bundle-version="3.3.103",
+ com.samsung.linuxplatform.injector
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/com.samsung.linuxplatform.telephony.sms/OSGI-INF/l10n/bundle.properties b/com.samsung.linuxplatform.telephony.sms/OSGI-INF/l10n/bundle.properties
new file mode 100644 (file)
index 0000000..4e4ee55
--- /dev/null
@@ -0,0 +1,4 @@
+#Properties file for com.samsung.linuxplatform.telephony.sms
+Bundle-Vendor = Samsung Electronics
+Bundle-Name = SLP SDK Telephony SMS
+Telephony_SMS = Telephony SMS
\ No newline at end of file
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/Messages.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/Messages.class
new file mode 100644 (file)
index 0000000..cf8386a
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/Messages.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/TelephonySMS.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/TelephonySMS.class
new file mode 100644 (file)
index 0000000..d6c0c46
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/TelephonySMS.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/DecodeMsg.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/DecodeMsg.class
new file mode 100644 (file)
index 0000000..379a032
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/DecodeMsg.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/EncodeMsg.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/EncodeMsg.class
new file mode 100644 (file)
index 0000000..eda71ae
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/EncodeMsg.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/EnumConstants.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/EnumConstants.class
new file mode 100644 (file)
index 0000000..b568d73
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/EnumConstants.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/Messages.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/Messages.class
new file mode 100644 (file)
index 0000000..dc94ec3
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/Messages.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/SmsAddressInfo.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/SmsAddressInfo.class
new file mode 100644 (file)
index 0000000..b94d350
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/SmsAddressInfo.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TPDU_SMS_DELIVER.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TPDU_SMS_DELIVER.class
new file mode 100644 (file)
index 0000000..659e591
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TPDU_SMS_DELIVER.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TPDU_SMS_SUBMIT.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TPDU_SMS_SUBMIT.class
new file mode 100644 (file)
index 0000000..d138c9c
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TPDU_SMS_SUBMIT.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TapiNetTextCodingScheme.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TapiNetTextCodingScheme.class
new file mode 100644 (file)
index 0000000..2bba732
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TapiNetTextCodingScheme.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TapiNetTextVP.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TapiNetTextVP.class
new file mode 100644 (file)
index 0000000..9b9142a
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TapiNetTextVP.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TmDateTime.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TmDateTime.class
new file mode 100644 (file)
index 0000000..2afd346
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/TmDateTime.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/messages.properties b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/encription/messages.properties
new file mode 100644 (file)
index 0000000..85ef492
--- /dev/null
@@ -0,0 +1,2 @@
+EncodeMsg_0=Unknown alphabetType UCS2\!\n
+EncodeMsg_1=Unknown alphabetType\!\n
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/messages.properties b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/messages.properties
new file mode 100644 (file)
index 0000000..ae54aa2
--- /dev/null
@@ -0,0 +1 @@
+TelephonySMS_0=SMS
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/CellBroadcasting$1.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/CellBroadcasting$1.class
new file mode 100644 (file)
index 0000000..3d77658
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/CellBroadcasting$1.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/CellBroadcasting.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/CellBroadcasting.class
new file mode 100644 (file)
index 0000000..b1d89a9
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/CellBroadcasting.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/Messages.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/Messages.class
new file mode 100644 (file)
index 0000000..d3f92a4
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/Messages.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS$1.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS$1.class
new file mode 100644 (file)
index 0000000..2e56b76
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS$1.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS$2.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS$2.class
new file mode 100644 (file)
index 0000000..aff79b9
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS$2.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS$3.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS$3.class
new file mode 100644 (file)
index 0000000..135986e
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS$3.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS$SimDBReceiver.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS$SimDBReceiver.class
new file mode 100644 (file)
index 0000000..22fb1ae
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS$SimDBReceiver.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS.class
new file mode 100644 (file)
index 0000000..528963c
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/SMS.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/messages.properties b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/page/messages.properties
new file mode 100644 (file)
index 0000000..37a8198
--- /dev/null
@@ -0,0 +1,48 @@
+CellBroadcasting_0=Weather
+CellBroadcasting_1=Sports
+CellBroadcasting_10=Message Identified : 
+CellBroadcasting_12=Language
+CellBroadcasting_13=DCS : 
+CellBroadcasting_15=Serial Number
+CellBroadcasting_16=Geographical : 
+CellBroadcasting_17=Update Number : 
+CellBroadcasting_19=Page Number
+CellBroadcasting_2=English
+CellBroadcasting_20=Page Number : 
+CellBroadcasting_22=Message
+CellBroadcasting_24=Send
+CellBroadcasting_3=Korean
+CellBroadcasting_8=Cell BroadCasting
+CellBroadcasting_9=Channel ID
+SMS_0=SMS OK(Success)
+SMS_1=Routing Released
+SMS_10=Sim Not Ready
+SMS_11=Class type 0
+SMS_12=Class type 1
+SMS_13=User Data(TP-DCS)
+SMS_14=\ [Message] 
+SMS_15=Class type 2
+SMS_16=Class type 3
+SMS_17=User Defined
+SMS_18=Sent Status
+SMS_19=Sending Status Value : 
+SMS_2=Routing Not Available
+SMS_20=Set
+SMS_21=[To] 
+SMS_23=Mobile Terminate(MT) - Send Message to Target/Host
+SMS_24=Address Selector
+SMS_25=Use SMSC : 
+SMS_26=SMSC is configured in MS
+SMS_27=Originating Address(TP-OA) : 
+SMS_28=Class Type : 
+SMS_29=User Option
+SMS_3=Rout Not Allowed
+SMS_35=Message Text 
+SMS_37=Send Msg
+SMS_38=Received Message
+SMS_4=Invalid Parameter
+SMS_5=Device Failure
+SMS_6=Pp Reserved
+SMS_7=Service Reserved
+SMS_8=Invalid Location
+SMS_9=No SIM
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/protocol/G04A01.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/protocol/G04A01.class
new file mode 100644 (file)
index 0000000..c19e51a
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/protocol/G04A01.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/protocol/G04A05.class b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/protocol/G04A05.class
new file mode 100644 (file)
index 0000000..ddc52a1
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/bin/com/samsung/linuxplatform/telephony/sms/protocol/G04A05.class differ
diff --git a/com.samsung.linuxplatform.telephony.sms/build.properties b/com.samsung.linuxplatform.telephony.sms/build.properties
new file mode 100644 (file)
index 0000000..f9eefdc
--- /dev/null
@@ -0,0 +1,8 @@
+source.. = src/\r
+output.. = bin/\r
+bin.includes = plugin.xml,\\r
+               META-INF/,\\r
+               .,\\r
+               OSGI-INF/l10n/bundle.properties\r
+javacSource = 1.6
+javacTarget = 1.6
diff --git a/com.samsung.linuxplatform.telephony.sms/build.xml b/com.samsung.linuxplatform.telephony.sms/build.xml
new file mode 100644 (file)
index 0000000..e568c88
--- /dev/null
@@ -0,0 +1,346 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="com.samsung.linuxplatform.telephony.sms" default="build.jars" basedir=".">
+
+       <property name="p2.build.repo" value="file:${buildDirectory}/buildRepo"/>
+       <property name="basews" value="${ws}"/>
+       <property name="baseos" value="${os}"/>
+       <property name="basearch" value="${arch}"/>
+       <property name="basenl" value="${nl}"/>
+       <property name="bundleId" value="com.samsung.linuxplatform.telephony.sms"/>
+       <property name="bundleVersion" value="1.3.20.201103241558"/>
+       <property name="p2.publishonerror" value="false"/>
+
+       <!-- Compiler settings. -->
+       <property name="javacFailOnError" value="false"/>
+       <property name="javacDebugInfo" value="on"/>
+       <property name="javacVerbose" value="false"/>
+       <property name="logExtension" value=".log"/>
+       <property name="compilerArg" value=""/>
+       <condition property="dir_bootclasspath" value="${java.home}/../Classes">
+               <os family="mac"/>
+       </condition>
+       <property name="dir_bootclasspath" value="${java.home}/lib"/>
+       <path id="path_bootclasspath">
+               <fileset dir="${dir_bootclasspath}">
+                       <include name="*.jar"/>
+               </fileset>
+       </path>
+       <property name="bootclasspath" refid="path_bootclasspath"/>
+       <property name="bundleJavacSource" value="1.6"/>
+       <property name="bundleJavacTarget" value="1.6"/>
+       <condition property="bundleBootClasspath" value="${JavaSE-1.6}" >
+               <isset property="JavaSE-1.6"/>
+       </condition>
+       <property name="bundleBootClasspath" value="${bootclasspath}"/>
+
+       <target name="init" depends="properties">
+               <condition property="pluginTemp" value="${buildTempFolder}/plugins"             >
+                       <isset property="buildTempFolder"/>
+               </condition>
+               <property name="pluginTemp" value="${basedir}"/>
+               <condition property="build.result.folder" value="${pluginTemp}/com.samsung.linuxplatform.telephony.sms_1.3.20.201103241558"             >
+                       <isset property="buildTempFolder"/>
+               </condition>
+               <property name="build.result.folder" value="${basedir}"/>
+               <property name="temp.folder" value="${basedir}/temp.folder"/>
+               <property name="plugin.destination" value="${basedir}"/>
+               <condition property="p2.publish.parts" value="true"             >
+                       <istrue value="${p2.gathering}"/>
+               </condition>
+               <property name="compilation.problem.marker" value="${build.result.folder}/compilation.problem"/>
+               <condition property="compilation.problem.marker.exists" value="true"            >
+                       <and>
+                       <available file="${compilation.problem.marker}"/>
+                       <isfalse value="p2.publishonerror"/>
+                       </and>
+               </condition>
+       </target>
+
+       <target name="properties" if="eclipse.running">
+               <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+
+       </target>
+
+       <target name="build.update.jar" depends="init" description="Build the plug-in: com.samsung.linuxplatform.telephony.sms for an update site.">
+               <delete dir="${temp.folder}"/>
+               <mkdir dir="${temp.folder}"/>
+               <antcall target="build.jars"/>
+               <antcall target="gather.bin.parts">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <jar destfile="${plugin.destination}/com.samsung.linuxplatform.telephony.sms_1.3.20.201103241558.jar" basedir="${temp.folder}/com.samsung.linuxplatform.telephony.sms_1.3.20.201103241558" filesetmanifest="merge"/>
+               <delete dir="${temp.folder}"/>
+       </target>
+
+       <target name="@dot" depends="init" unless="@dot" description="Create jar: com.samsung.linuxplatform.telephony.sms @dot.">
+               <delete dir="${build.result.folder}/@dot"/>
+               <mkdir dir="${build.result.folder}/@dot"/>
+               <path id="@dot.classpath">
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui_3.5.2.M20100120-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20090525.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.osgi_3.5.2.R35x_v20100126.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800/runtime_registry_compatibility.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.100.v20090413.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.app_1.2.1.R35x_v20091203.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.osgi.services_3.2.0.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/javax.servlet_2.5.0.v200806031605.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.swt_3.5.2.v3557f.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface_3.5.2.M20100120-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.commands_3.5.0.I20090525-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench_3.5.2.M20100113-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/compatibility.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/e4-workbench.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800"/>
+                       <pathelement path="../../../eclipse/plugins/com.ibm.icu_4.0.1.v20090822.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.help_3.4.1.v20090805_35x.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.expressions_3.4.101.R35x_v20100209.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface.databinding_1.3.1.M20090826-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding.observable_1.2.0.M20090902-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding.property_1.2.0.M20090819-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.databinding_1.2.0.M20090819-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.resources.compatibility_3.4.1.R35x_v20100113-0530.jar"/>
+                       <pathelement path="../org.eclipse.core.resources.nl_ko/org.eclipse.core.resources.nl_ko_3.5.0.v20100814074441.jar"/>
+                       <pathelement path="../org.eclipse.core.resources.nl_ko"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ant.core_3.2.101.v20091110_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.variables_3.2.200.v20090521.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filesystem_1.2.1.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filesystem.linux.x86_1.3.0.R35x_v20091203-1235.jar"/>
+                       <pathelement path="../com.samsung.linuxplatform.common/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common_1.3.20.201103241558/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.common_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../org.eclipse.ui.ide/bin"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/bin"/>
+                       <pathelement path="../org.eclipse.ui.ide/e4-ide.jar"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/e4-ide.jar"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide/@dot"/>
+                       <pathelement path="${build.result.folder}/../org.eclipse.ui.ide_3.5.2.M20100113-0800/@dot"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.views_3.4.1.M20090826-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.jface.text_3.5.2.r352_v20091118-0800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.text_3.5.0.v20090513-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.forms_3.4.1.v20090714_35x.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.engine_1.0.102.R35x_v20091117.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.core_1.0.101.R35x_v20090819.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.metadata_1.0.101.R35x_v20100112.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.metadata.repository_1.0.101.R35x_v20090812.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.repository_1.0.1.R35x_v20100105.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.security_1.0.100.v20090520-1800.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.filetransfer_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.ssl_1.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.concurrent_1.0.1.R35x_v20100209.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.identity_3.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.provider.filetransfer_3.0.1.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20090831-1906.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.net_1.2.1.r35x_20090812-1200.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.net.linux.x86_1.1.0.I20081021.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.artifact.repository_1.0.101.R35x_v20090721.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.100.v20090520-1905.jar"/>
+                       <pathelement path="../com.samsung.linuxplatform.injector/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector_1.3.20.201103241558/bin/"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.injector_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection/bin"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection_1.3.20.201103241558/bin"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection/@dot"/>
+                       <pathelement path="${build.result.folder}/../com.samsung.linuxplatform.connection_1.3.20.201103241558/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.linux/bin/"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.linux/@dot"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.windows/bin/"/>
+                       <pathelement path="../com.samsung.linuxplatform.connection.windows/@dot"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.console_3.4.0.v20090513.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.workbench.texteditor_3.5.1.r352_v20100105.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.compare.core_3.5.0.I20090430-0408.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.debug.ui_3.5.2.v20091028_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.debug.core_3.5.1.v20091103_r352.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.ui.editors_3.5.0.v20090527-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.core.filebuffers_3.5.0.v20090526-2000.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.ui_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.services_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.core_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.efs_2.1.100.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.files.core_3.1.1.v200909160005.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.processes.core_3.1.0.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.shells.core_3.1.0.v200905272300.jar"/>
+                       <pathelement path="../../../eclipse/plugins/org.eclipse.rse.subsystems.terminals.core_1.0.1.v200908051630.jar"/>
+                       <pathelement path="../../../eclipse/plugins/com.jcraft.jsch_0.1.41.v200903070017.jar"/>
+               </path>
+               <!-- compile the source code -->
+               <javac destdir="${build.result.folder}/@dot" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bundleBootClasspath}" source="${bundleJavacSource}" target="${bundleJavacTarget}"            >
+                       <compilerarg line="${compilerArg}" compiler="${build.compiler}"/>
+                       <classpath refid="@dot.classpath" />
+                       <src path="src/"                        />
+                       <compilerarg value="@${basedir}/javaCompiler...args" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+                       <compilerarg line="-log '${build.result.folder}/@dot${logExtension}'" compiler="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+               </javac>
+               <antcall target="checkCompilationResults"/>
+               <!-- Copy necessary resources -->
+               <copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
+                       <fileset dir="src/">
+                               <exclude name="**/*.java"/>
+                               <exclude name="**/package.htm*"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="src.zip" depends="init" unless="src.zip">
+               <mkdir dir="${build.result.folder}"/>
+               <antcall target="zip.src.zip"/>
+       </target>
+       <target name="zip.src.zip">
+               <zip destfile="${build.result.folder}/src.zip" filesonly="false" whenempty="skip" update="false">
+                       <fileset dir="src/">
+                               <include name="**/*.java"/>
+                       </fileset>
+               </zip>
+       </target>
+       <target name="copy.src.zip">
+               <copy todir="${source.destination.folder}/" failonerror="true" overwrite="true">
+                       <fileset dir="src/">
+                               <include name="**/*.java"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="build.jars" depends="init" description="Compile classes and build nested jars for the plug-in: com.samsung.linuxplatform.telephony.sms.">
+               <delete file="${compilation.problem.marker}" quiet="true"/>
+               <available property="@dot" file="${build.result.folder}/@dot"/>
+               <antcall target="@dot"/>
+       </target>
+
+       <target name="checkCompilationResults" if="compilation.error.occured">
+               <echo file="${compilation.problem.marker}" message="com.samsung.linuxplatform.telephony.sms : compilation.error.occured=${compilation.error.occured}"/>
+       </target>
+
+       <target name="build.sources" depends="init">
+               <available property="src.zip" file="${build.result.folder}/src.zip"/>
+               <antcall target="src.zip"/>
+       </target>
+
+       <target name="publish.bin.parts" depends="init" if="p2.publish.parts" unless="compilation.problem.marker.exists">
+               <mkdir dir="${build.result.folder}/com.samsung.linuxplatform.telephony.sms_1.3.20.201103241558"/>
+               <copy todir="${build.result.folder}" failonerror="true" overwrite="true">
+                       <fileset dir="${basedir}">
+                               <include name="META-INF/MANIFEST.MF"/>
+                               <include name="plugin.xml"/>
+                               <include name="fragment.xml"/>
+                       </fileset>
+               </copy>
+               <eclipse.versionReplacer path="${build.result.folder}" version="1.3.20.201103241558"/>
+               <antcall target="apitools.generation">
+                       <param name="target.folder" value="${build.result.folder}"/>
+                       <param name="projectLocation" value="${basedir}"/>
+                       <param name="binary.folders" value="${build.result.folder}/@dot"/>
+                       <param name="projectName" value="${bundleId}_${bundleVersion}"/>
+               </antcall>
+               <eclipse.gatherBundle 
+                  metadataRepository="${p2.build.repo}"
+                  artifactRepository="${p2.build.repo}"
+                  buildResultFolder="${build.result.folder}"
+                  unpack="false"
+                  baseDirectory="${basedir}"
+               />
+       </target>
+
+       <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.telephony.sms_1.3.20.201103241558"/>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.telephony.sms_1.3.20.201103241558" failonerror="true" overwrite="false">
+                       <fileset dir="${build.result.folder}/@dot">
+                               <include name="**"/>
+                       </fileset>
+               </copy>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.telephony.sms_1.3.20.201103241558" failonerror="true" overwrite="true">
+                       <fileset dir="${basedir}">
+                               <include name="plugin.xml"/>
+                               <include name="META-INF/"/>
+                               <include name="OSGI-INF/l10n/bundle.properties"/>
+                       </fileset>
+               </copy>
+               <eclipse.versionReplacer path="${destination.temp.folder}/com.samsung.linuxplatform.telephony.sms_1.3.20.201103241558" version="1.3.20.201103241558"/>
+               <antcall target="apitools.generation">
+                       <param name="target.folder" value="${destination.temp.folder}/com.samsung.linuxplatform.telephony.sms_1.3.20.201103241558"/>
+                       <param name="projectLocation" value="${basedir}"/>
+                       <param name="binary.folders" value="${build.result.folder}/@dot"/>
+                       <param name="projectName" value="${bundleId}_${bundleVersion}"/>
+               </antcall>
+       </target>
+
+       <target name="build.zips" depends="init">
+       </target>
+
+       <target name="gather.sources" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.telephony.sms_1.3.20.201103241558"/>
+               <copy file="${build.result.folder}/src.zip" todir="${destination.temp.folder}/com.samsung.linuxplatform.telephony.sms_1.3.20.201103241558" failonerror="false" overwrite="false"/>
+               <antcall target="copy.src.includes">
+                       <param name="source.destination.folder" value="${destination.temp.folder}/com.samsung.linuxplatform.telephony.sms_1.3.20.201103241558"/>
+               </antcall>
+       </target>
+
+       <target name="gather.individual.sources" depends="init">
+               <antcall target="copy.src.zip">
+                       <param name="source.destination.folder" value="${destination.temp.folder}"/>
+               </antcall>
+               <antcall target="copy.src.includes">
+                       <param name="source.destination.folder" value="${destination.temp.folder}"/>
+               </antcall>
+       </target>
+
+       <target name="copy.src.includes" depends="init">
+       </target>
+
+       <target name="gather.logs" depends="init" if="destination.temp.folder">
+               <mkdir dir="${destination.temp.folder}/com.samsung.linuxplatform.telephony.sms_1.3.20.201103241558"/>
+               <copy todir="${destination.temp.folder}/com.samsung.linuxplatform.telephony.sms_1.3.20.201103241558" failonerror="false" overwrite="false">
+                       <fileset dir="${build.result.folder}">
+                               <include name="@dot${logExtension}"/>
+                       </fileset>
+               </copy>
+       </target>
+
+       <target name="clean" depends="init" description="Clean the plug-in: com.samsung.linuxplatform.telephony.sms of all the zips, jars and logs created.">
+               <delete dir="${build.result.folder}/@dot"/>
+               <delete file="${build.result.folder}/src.zip"/>
+               <delete file="${plugin.destination}/com.samsung.linuxplatform.telephony.sms_1.3.20.201103241558.jar"/>
+               <delete file="${plugin.destination}/com.samsung.linuxplatform.telephony.sms_1.3.20.201103241558.zip"/>
+               <delete dir="${temp.folder}"/>
+               <delete file="${compilation.problem.marker}" quiet="true"/>
+       </target>
+
+       <target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
+               <eclipse.convertPath fileSystemPath="/home/taeyoung/SLPSDK/git/samsung-sdk-ide/com.samsung.linuxplatform.telephony.sms" property="resourcePath"/>
+               <eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
+       </target>
+
+       <target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: com.samsung.linuxplatform.telephony.sms.">
+               <delete dir="${temp.folder}"/>
+               <mkdir dir="${temp.folder}"/>
+               <antcall target="build.jars"/>
+               <antcall target="build.sources"/>
+               <antcall target="gather.bin.parts">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <antcall target="gather.sources">
+                       <param name="destination.temp.folder" value="${temp.folder}/"/>
+               </antcall>
+               <delete>
+                       <fileset dir="${temp.folder}">
+                               <include name="**/*.bin${logExtension}"/>
+                       </fileset>
+               </delete>
+               <zip destfile="${plugin.destination}/com.samsung.linuxplatform.telephony.sms_1.3.20.201103241558.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
+               <delete dir="${temp.folder}"/>
+       </target>
+
+       <target name="apitools.generation" if="generateAPIDescription">
+               <apitooling.apigeneration  projectName="${projectName}" project="${projectLocation}" binary="${binary.folders}" target="${target.folder}"               />
+       </target>
+
+</project>
diff --git a/com.samsung.linuxplatform.telephony.sms/icons/telephony_view.png b/com.samsung.linuxplatform.telephony.sms/icons/telephony_view.png
new file mode 100644 (file)
index 0000000..d87e1cb
Binary files /dev/null and b/com.samsung.linuxplatform.telephony.sms/icons/telephony_view.png differ
diff --git a/com.samsung.linuxplatform.telephony.sms/javaCompiler...args b/com.samsung.linuxplatform.telephony.sms/javaCompiler...args
new file mode 100644 (file)
index 0000000..160ef2e
--- /dev/null
@@ -0,0 +1,96 @@
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui_3.5.2.M20100120-0800.jar[~org/eclipse/ui/internal/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime_3.5.0.v20090525.jar[~org/eclipse/core/internal/preferences/legacy/*:~org/eclipse/core/internal/runtime/*:+org/eclipse/core/runtime/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.osgi_3.5.2.R35x_v20100126.jar[+org/eclipse/osgi/event/*:+org/eclipse/osgi/framework/console/*:+org/eclipse/osgi/framework/eventmgr/*:+org/eclipse/osgi/framework/log/*:+org/eclipse/osgi/launch/*:+org/eclipse/osgi/service/datalocation/*:+org/eclipse/osgi/service/debug/*:+org/eclipse/osgi/service/environment/*:+org/eclipse/osgi/service/localization/*:+org/eclipse/osgi/service/pluginconversion/*:+org/eclipse/osgi/service/resolver/*:+org/eclipse/osgi/service/runnable/*:+org/eclipse/osgi/service/security/*:+org/eclipse/osgi/service/urlconversion/*:+org/eclipse/osgi/signedcontent/*:+org/eclipse/osgi/storagemanager/*:+org/eclipse/osgi/util/*:+org/osgi/framework/*:+org/osgi/framework/launch/*:+org/osgi/framework/hooks/service/*:+org/osgi/service/condpermadmin/*:~org/osgi/service/framework/*:+org/osgi/service/packageadmin/*:+org/osgi/service/permissionadmin/*:+org/osgi/service/startlevel/*:+org/osgi/service/url/*:+org/osgi/util/tracker/*:~org/eclipse/core/runtime/adaptor/*:~org/eclipse/core/runtime/internal/adaptor/*:~org/eclipse/core/runtime/internal/stats/*:~org/eclipse/osgi/baseadaptor/*:~org/eclipse/osgi/baseadaptor/bundlefile/*:~org/eclipse/osgi/baseadaptor/hooks/*:~org/eclipse/osgi/baseadaptor/loader/*:~org/eclipse/osgi/framework/adaptor/*:~org/eclipse/osgi/framework/debug/*:~org/eclipse/osgi/framework/internal/core/*:~org/eclipse/osgi/framework/internal/protocol/*:~org/eclipse/osgi/framework/internal/protocol/bundleentry/*:~org/eclipse/osgi/framework/internal/protocol/bundleresource/*:~org/eclipse/osgi/framework/internal/protocol/reference/*:~org/eclipse/osgi/framework/internal/reliablefile/*:~org/eclipse/osgi/framework/util/*:~org/eclipse/osgi/internal/baseadaptor/*:~org/eclipse/osgi/internal/composite/*:~org/eclipse/osgi/internal/loader/*:~org/eclipse/osgi/internal/loader/buddy/*:~org/eclipse/osgi/internal/module/*:~org/eclipse/osgi/internal/profile/*:~org/eclipse/osgi/internal/resolver/*:~org/eclipse/osgi/internal/serviceregistry/*:~org/eclipse/osgi/internal/permadmin/*:~org/eclipse/osgi/internal/provisional/service/security/*:~org/eclipse/osgi/internal/provisional/verifier/*:~org/eclipse/osgi/internal/service/security/*:~org/eclipse/osgi/internal/signedcontent/*:~org/eclipse/osgi/service/internal/composite/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar[~org/eclipse/core/internal/boot/*:~org/eclipse/core/internal/runtime/*:+org/eclipse/core/runtime/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar[~org/eclipse/core/internal/jobs/*:+org/eclipse/core/runtime/jobs/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800/runtime_registry_compatibility.jar[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.registry_3.2.200.v20090429-1800[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.registry_3.4.100.v20090520-1800.jar[~org/eclipse/core/internal/adapter/*:~org/eclipse/core/internal/registry/*:~org/eclipse/core/internal/registry/osgi/*:~org/eclipse/core/internal/registry/spi/*:+org/eclipse/core/runtime/*:+org/eclipse/core/runtime/dynamichelpers/*:+org/eclipse/core/runtime/spi/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar[~org/eclipse/core/internal/preferences/*:~org/eclipse/core/internal/preferences/exchange/*:+org/eclipse/core/runtime/preferences/*:+org/osgi/service/prefs/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar[~org/eclipse/core/internal/content/*:+org/eclipse/core/runtime/content/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.runtime.compatibility.auth_3.2.100.v20090413.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.app_1.2.1.R35x_v20091203.jar[+org/eclipse/equinox/app/*:~org/eclipse/equinox/internal/app/*:+org/osgi/service/application/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.osgi.services_3.2.0.v20090520-1800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/javax.servlet_2.5.0.v200806031605.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.swt_3.5.2.v3557f.jar[+org/eclipse/swt/*:+org/eclipse/swt/accessibility/*:+org/eclipse/swt/awt/*:+org/eclipse/swt/browser/*:+org/eclipse/swt/custom/*:+org/eclipse/swt/dnd/*:+org/eclipse/swt/events/*:+org/eclipse/swt/graphics/*:+org/eclipse/swt/layout/*:+org/eclipse/swt/opengl/*:+org/eclipse/swt/printing/*:+org/eclipse/swt/program/*:+org/eclipse/swt/widgets/*:~org/eclipse/swt/internal/*:~org/eclipse/swt/internal/image/*:~org/eclipse/swt/internal/theme/*:~org/eclipse/swt/internal/accessibility/gtk/*:~org/eclipse/swt/internal/cairo/*:~org/eclipse/swt/internal/cde/*:~org/eclipse/swt/internal/gnome/*:~org/eclipse/swt/internal/gtk/*:~org/eclipse/swt/internal/mozilla/*:~org/eclipse/swt/internal/opengl/glx/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar[+org/eclipse/swt/*:+org/eclipse/swt/accessibility/*:+org/eclipse/swt/awt/*:+org/eclipse/swt/browser/*:+org/eclipse/swt/custom/*:+org/eclipse/swt/dnd/*:+org/eclipse/swt/events/*:+org/eclipse/swt/graphics/*:+org/eclipse/swt/layout/*:+org/eclipse/swt/opengl/*:+org/eclipse/swt/printing/*:+org/eclipse/swt/program/*:+org/eclipse/swt/widgets/*:~org/eclipse/swt/internal/*:~org/eclipse/swt/internal/image/*:~org/eclipse/swt/internal/theme/*:~org/eclipse/swt/internal/accessibility/gtk/*:~org/eclipse/swt/internal/cairo/*:~org/eclipse/swt/internal/cde/*:~org/eclipse/swt/internal/gnome/*:~org/eclipse/swt/internal/gtk/*:~org/eclipse/swt/internal/mozilla/*:~org/eclipse/swt/internal/opengl/glx/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface_3.5.2.M20100120-0800.jar[+org/eclipse/jface/*:+org/eclipse/jface/action/*:+org/eclipse/jface/action/images/*:+org/eclipse/jface/bindings/*:+org/eclipse/jface/bindings/keys/*:+org/eclipse/jface/bindings/keys/formatting/*:+org/eclipse/jface/commands/*:+org/eclipse/jface/contexts/*:+org/eclipse/jface/dialogs/*:+org/eclipse/jface/dialogs/images/*:+org/eclipse/jface/fieldassist/*:+org/eclipse/jface/fieldassist/images/*:+org/eclipse/jface/images/*:~org/eclipse/jface/internal/*:~org/eclipse/jface/internal/provisional/action/*:+org/eclipse/jface/layout/*:+org/eclipse/jface/menus/*:+org/eclipse/jface/operation/*:+org/eclipse/jface/preference/*:+org/eclipse/jface/preference/images/*:+org/eclipse/jface/resource/*:+org/eclipse/jface/util/*:+org/eclipse/jface/viewers/*:+org/eclipse/jface/viewers/deferred/*:+org/eclipse/jface/window/*:+org/eclipse/jface/wizard/*:+org/eclipse/jface/wizard/images/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.commands_3.5.0.I20090525-2000.jar[+org/eclipse/core/commands/*:+org/eclipse/core/commands/common/*:+org/eclipse/core/commands/contexts/*:+org/eclipse/core/commands/operations/*:+org/eclipse/core/commands/util/*:~org/eclipse/core/internal/commands/operations/*:~org/eclipse/core/internal/commands/util/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench_3.5.2.M20100113-0800.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/compatibility.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800/e4-workbench.jar[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.2.0.I20090429-1800[+org/eclipse/ui/*:+org/eclipse/ui/about/*:+org/eclipse/ui/actions/*:+org/eclipse/ui/activities/*:+org/eclipse/ui/application/*:+org/eclipse/ui/branding/*:+org/eclipse/ui/browser/*:+org/eclipse/ui/commands/*:+org/eclipse/ui/contexts/*:+org/eclipse/ui/databinding/*:+org/eclipse/ui/dialogs/*:+org/eclipse/ui/dnd/*:+org/eclipse/ui/fieldassist/*:+org/eclipse/ui/handlers/*:+org/eclipse/ui/help/*:~org/eclipse/ui/internal/*:~org/eclipse/ui/internal/about/*:~org/eclipse/ui/internal/actions/*:~org/eclipse/ui/internal/activities/*:~org/eclipse/ui/internal/activities/ws/*:~org/eclipse/ui/internal/application/*:~org/eclipse/ui/internal/browser/*:~org/eclipse/ui/internal/commands/*:~org/eclipse/ui/internal/contexts/*:~org/eclipse/ui/internal/decorators/*:~org/eclipse/ui/internal/dialogs/*:~org/eclipse/ui/internal/dnd/*:~org/eclipse/ui/internal/editorsupport/*:~org/eclipse/ui/internal/expressions/*:~org/eclipse/ui/internal/handlers/*:~org/eclipse/ui/internal/help/*:~org/eclipse/ui/internal/intro/*:~org/eclipse/ui/internal/keys/*:~org/eclipse/ui/internal/keys/model/*:~org/eclipse/ui/internal/layout/*:~org/eclipse/ui/internal/menus/*:~org/eclipse/ui/internal/misc/*:~org/eclipse/ui/internal/model/*:~org/eclipse/ui/internal/operations/*:~org/eclipse/ui/internal/part/*:~org/eclipse/ui/internal/preferences/*:~org/eclipse/ui/internal/presentations/*:~org/eclipse/ui/internal/presentations/classic/*:~org/eclipse/ui/internal/presentations/defaultpresentation/*:~org/eclipse/ui/internal/presentations/util/*:~org/eclipse/ui/internal/progress/*:~org/eclipse/ui/internal/provisional/application/*:~org/eclipse/ui/internal/provisional/presentations/*:~org/eclipse/ui/internal/quickaccess/*:~org/eclipse/ui/internal/registry/*:~org/eclipse/ui/internal/services/*:~org/eclipse/ui/internal/splash/*:~org/eclipse/ui/internal/statushandlers/*:~org/eclipse/ui/internal/testing/*:~org/eclipse/ui/internal/themes/*:~org/eclipse/ui/internal/tweaklets/*:~org/eclipse/ui/internal/util/*:~org/eclipse/ui/internal/wizards/*:~org/eclipse/ui/internal/wizards/preferences/*:+org/eclipse/ui/intro/*:+org/eclipse/ui/keys/*:+org/eclipse/ui/menus/*:+org/eclipse/ui/model/*:+org/eclipse/ui/operations/*:+org/eclipse/ui/part/*:+org/eclipse/ui/plugin/*:+org/eclipse/ui/preferences/*:+org/eclipse/ui/presentations/*:+org/eclipse/ui/progress/*:+org/eclipse/ui/services/*:+org/eclipse/ui/splash/*:+org/eclipse/ui/statushandlers/*:+org/eclipse/ui/swt/*:+org/eclipse/ui/testing/*:+org/eclipse/ui/themes/*:+org/eclipse/ui/views/*:+org/eclipse/ui/wizards/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/com.ibm.icu_4.0.1.v20090822.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.help_3.4.1.v20090805_35x.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.expressions_3.4.101.R35x_v20100209.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface.databinding_1.3.1.M20090826-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding.observable_1.2.0.M20090902-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding.property_1.2.0.M20090819-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.databinding_1.2.0.M20090819-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.resources.compatibility_3.4.1.R35x_v20100113-0530.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.core.resources.nl_ko/org.eclipse.core.resources.nl_ko_3.5.0.v20100814074441.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.core.resources.nl_ko[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ant.core_3.2.101.v20091110_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.variables_3.2.200.v20090521.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filesystem_1.2.1.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filesystem.linux.x86_1.3.0.R35x_v20091203-1235.jar[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common/bin/[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common_1.3.20.201103241558/bin/[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common/@dot[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.common_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/common/control/*:+com/samsung/linuxplatform/common/handler/*:+com/samsung/linuxplatform/common/manager/*:+com/samsung/linuxplatform/common/model/*:+com/samsung/linuxplatform/common/queue/*:+com/samsung/linuxplatform/common/util/*:?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/bin[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/bin[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/e4-ide.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/e4-ide.jar[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide/@dot[?**/*]
+#ADAPTER#ACCESS#org.eclipse.ui.ide_3.5.2.M20100113-0800/@dot[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.views_3.4.1.M20090826-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.jface.text_3.5.2.r352_v20091118-0800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.text_3.5.0.v20090513-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.forms_3.4.1.v20090714_35x.jar[+org/eclipse/ui/forms/*:+org/eclipse/ui/forms/editor/*:+org/eclipse/ui/forms/events/*:+org/eclipse/ui/forms/widgets/*:~org/eclipse/ui/internal/forms/*:~org/eclipse/ui/internal/forms/widgets/*:?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.engine_1.0.102.R35x_v20091117.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.core_1.0.101.R35x_v20090819.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.metadata_1.0.101.R35x_v20100112.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.metadata.repository_1.0.101.R35x_v20090812.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.repository_1.0.1.R35x_v20100105.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.security_1.0.100.v20090520-1800.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.filetransfer_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.ssl_1.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.concurrent_1.0.1.R35x_v20100209.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.identity_3.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.provider.filetransfer_3.0.1.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20090831-1906.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.net_1.2.1.r35x_20090812-1200.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.net.linux.x86_1.1.0.I20081021.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.artifact.repository_1.0.101.R35x_v20090721.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.100.v20090520-1905.jar[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector/bin/[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector_1.3.20.201103241558/bin/[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector/@dot[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.injector_1.3.20.201103241558/@dot[+com/samsung/linuxplatform/injector/protocol/*:+com/samsung/linuxplatform/injector/protocol/sensor/*:+com/samsung/linuxplatform/injector/provider/*:+com/samsung/linuxplatform/injector/receiver/*:+com/samsung/linuxplatform/injector/socket/*:+com/samsung/linuxplatform/injector/util/*:?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection/bin[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection_1.3.20.201103241558/bin[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection/@dot[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection_1.3.20.201103241558/@dot[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.linux/bin/[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.linux/@dot[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.windows/bin/[?**/*]
+#ADAPTER#ACCESS#com.samsung.linuxplatform.connection.windows/@dot[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.console_3.4.0.v20090513.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.workbench.texteditor_3.5.1.r352_v20100105.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.compare.core_3.5.0.I20090430-0408.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.debug.ui_3.5.2.v20091028_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.debug.core_3.5.1.v20091103_r352.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.ui.editors_3.5.0.v20090527-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.core.filebuffers_3.5.0.v20090526-2000.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.ui_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.services_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.core_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.efs_2.1.100.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.files.core_3.1.1.v200909160005.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.processes.core_3.1.0.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.shells.core_3.1.0.v200905272300.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/org.eclipse.rse.subsystems.terminals.core_1.0.1.v200908051630.jar[?**/*]
+#ADAPTER#ACCESS#eclipse/plugins/com.jcraft.jsch_0.1.41.v200903070017.jar[?**/*]
diff --git a/com.samsung.linuxplatform.telephony.sms/plugin.xml b/com.samsung.linuxplatform.telephony.sms/plugin.xml
new file mode 100644 (file)
index 0000000..9714a0f
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<?eclipse version="3.2"?>\r
+<plugin>\r
+       <extension\r
+         point="com.samsung.linuxplatform.injector.injectorItemProvider">\r
+      <itemType\r
+               category="Telephony"\r
+            class="com.samsung.linuxplatform.telephony.sms.TelephonySMS"\r
+            id="com.samsung.linuxplatform.telephony.sms.TelephonySMS"\r
+            name="%Telephony_SMS">\r
+      </itemType>\r
+   </extension>        \r
+</plugin>\r
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/Messages.java b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/Messages.java
new file mode 100644 (file)
index 0000000..8808175
--- /dev/null
@@ -0,0 +1,15 @@
+package com.samsung.linuxplatform.telephony.sms;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+       private static final String BUNDLE_NAME = "com.samsung.linuxplatform.telephony.sms.messages"; //$NON-NLS-1$
+       public static String TelephonySMS_0;
+       static {
+               // initialize resource bundle
+               NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+       }
+
+       private Messages() {
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/TelephonySMS.java b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/TelephonySMS.java
new file mode 100644 (file)
index 0000000..36e6a83
--- /dev/null
@@ -0,0 +1,19 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.sms;
+
+//import com.samsung.linuxplatform.telephony.sms.page.CellBroadcasting;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+import com.samsung.linuxplatform.telephony.sms.page.SMS;
+
+public class TelephonySMS  extends AbstractInjectorItem {
+
+       @Override
+       protected void addPages() {
+                       addPage(new SMS(this, Messages.TelephonySMS_0));
+//                     addPage(new CellBroadcasting(this,"Cell Broadcasting"));
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/DecodeMsg.java b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/DecodeMsg.java
new file mode 100644 (file)
index 0000000..d82d4ee
--- /dev/null
@@ -0,0 +1,514 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.sms.encription;
+
+public class DecodeMsg {
+       int ton, npi;
+
+       public void DecodeSmsSubmitTpdu(TPDU_SMS_SUBMIT tpdu_submit, int pdu_len, char[] pPDU) {
+               int scaAddr_len = 0;
+               int destAddr_len = 0;
+               char[] diallingNum = new char[EnumConstants.TAPI_NETTEXT_ADDRESS_LEN_MAX+1];
+               char[] scaAddr = new char[EnumConstants.TAPI_NETTEXT_SCADDRESS_LEN_MAX+1];
+               char[] destAddr = new char[EnumConstants.TAPI_NETTEXT_ADDRESS_LEN_MAX+1];
+//             char[] inData = new char[EnumConstants.TAPI_NETTEXT_SMDATA_SIZE_MAX+1];
+
+               int position = 0;
+
+               SmsUtilDecodeAddrField_sca(diallingNum, pPDU);
+
+               position += 2;
+
+               scaAddr_len = getSize(diallingNum);
+
+               if ((scaAddr_len % 2) != 0)
+                       position += scaAddr_len / 2 + 1;
+               else
+                       position += scaAddr_len / 2;
+
+               if (ton == EnumConstants.SIM_TON_INTERNATIONAL) {
+                       scaAddr[0] = '+';
+                       for(int i = 0; i < scaAddr_len; i++) {
+                               scaAddr[i+1] = diallingNum[i];
+                               scaAddr[scaAddr_len+1] = '\0';
+                       }
+               } else {
+                       for(int i = 0; i < scaAddr_len; i++) {
+                               scaAddr[i] = diallingNum[i];
+                               scaAddr[scaAddr_len] = '\0';
+                       }
+               }
+               
+               /* TP-MTI, TP-RD, TP-VPF, TP-RP, TP_UDHI, TP-SRR */
+               tpdu_submit.msgType = EnumConstants.SMS_TPDU_SUBMIT;
+               tpdu_submit.rd = ((pPDU[position] & 0x04) != 0) ? true : false;
+               tpdu_submit.vpf = (pPDU[position] & 0x18) >> 3;
+               tpdu_submit.srr = ((pPDU[position] & 0x20) != 0) ? true : false;
+               tpdu_submit.udhi = ((pPDU[position] & 0x40) != 0) ? true : false;
+               tpdu_submit.rp = ((pPDU[position] & 0x80) != 0) ? true : false;
+               
+               position++;
+               
+               /* TP-MR */
+               tpdu_submit.mr = pPDU[position];
+               
+               position++;
+               
+               /* TP-DA */
+               for(int i = 0; i < diallingNum.length; i++)
+                       diallingNum[i] = 0x00;
+               
+               SmsUtilDecodeAddrField_dst(diallingNum, getCharArray(pPDU, position));
+               
+               position+=2;
+               
+               destAddr_len = getSize(diallingNum);
+               
+               if((destAddr_len %2) != 0)
+                       position += destAddr_len / 2 + 1;
+               else
+                       position += destAddr_len / 2;
+               
+               if (ton == EnumConstants.SIM_TON_INTERNATIONAL) {
+                       destAddr[0] = '+';
+                       for(int i = 0; i < destAddr_len; i++) {
+                               destAddr[i+1] = diallingNum[i];
+                               destAddr[destAddr_len+1] = '\0';
+                       }
+                       tpdu_submit.destAddr.dialnumlen = destAddr_len+1;
+                       for(int i = 0; i < destAddr_len+1; i++)
+                               tpdu_submit.destAddr.diallingNum[i] = destAddr[i];
+               } else {
+                       for(int i = 0; i < destAddr_len; i++) {
+                               destAddr[i] = diallingNum[i];
+                               destAddr[destAddr_len] = '\0';
+                       }
+                       tpdu_submit.destAddr.dialnumlen = destAddr_len;
+                       for(int i = 0; i < destAddr_len; i++)
+                               tpdu_submit.destAddr.diallingNum[i] = destAddr[i];
+               }
+               
+               tpdu_submit.destAddr.npi = npi;
+               tpdu_submit.destAddr.ton = ton;
+               
+               /* TP-PID */
+               tpdu_submit.pId = pPDU[position];
+               position++;
+               
+               /* TP DCS */
+               SmsUtilDecodeDCS(tpdu_submit.dcs, pPDU[position]);
+               position++;
+               
+               /* TP VP */
+               tpdu_submit.vp.vpType = EnumConstants.TAPI_NETTEXT_VP_RELATIVE;
+               
+               switch(tpdu_submit.vp.vpType) {
+                       case EnumConstants.TAPI_NETTEXT_VP_RELATIVE:
+                               tpdu_submit.vp.vpValue = pPDU[position];
+                               tpdu_submit.vp.vpRelativeType = EnumConstants.TAPI_NETTEXT_VP_REL_1D;
+                               position++;
+                               break;
+                       case EnumConstants.TAPI_NETTEXT_VP_ABSOLUTE:
+                       case EnumConstants.TAPI_NETTEXT_VP_ENHANCED:
+                               position += 7;
+                               break;
+                       default:
+                               break;
+               }
+               
+               /* TP UDL */
+               tpdu_submit.udl = pPDU[position];
+               
+               if(tpdu_submit.udl > EnumConstants.TAPI_NETTEXT_SMDATA_SIZE_MAX)
+                       tpdu_submit.udl = EnumConstants.TAPI_NETTEXT_SMDATA_SIZE_MAX;
+               
+               position++;
+               
+               /* TP UD */
+               tpdu_submit.userData = new char[EnumConstants.TAPI_NETTEXT_SMDATA_SIZE_MAX+1];
+               System.out.println("Position : " + position);
+               if(tpdu_submit.dcs.alphabetType == EnumConstants.TAPI_NETTEXT_ALPHABET_DEFAULT) {
+                       char[] inData = new char[EnumConstants.TAPI_NETTEXT_SMDATA_SIZE_MAX+1];
+                       for(int i = 0; i < tpdu_submit.udl; i++) {
+                               inData[i] = (char)(pPDU[position + i] & 0xff);
+                       }
+                       SmsUtilUnpackGSMCode(tpdu_submit.userData, inData, tpdu_submit.udl);
+               }
+               
+               System.out.println("Msg Type: TPDU_SUBMIT");
+               if(tpdu_submit.rd)
+                       System.out.println("RD: Reject Duplicate");
+               else
+                       System.out.println("RD: Accept Duplicate");
+               
+               if(tpdu_submit.srr)
+                       System.out.println("SRR: A status report is requested");
+               else
+                       System.out.println("SRR: A status report is not requested");
+               
+               if(tpdu_submit.udhi)
+                       System.out.println("UDHI: Contains a Header in addition to the short message.");
+               else
+                       System.out.println("UDHI: Only Short Message");
+               
+               if(tpdu_submit.rp)
+                       System.out.println("RP: Set Reply Path");
+               else
+                       System.out.println("RP: Not set Reply Path");
+               
+               System.out.print("SCA Addr: ");
+               System.out.println(scaAddr);
+               System.out.print("To : ");
+               System.out.println(destAddr);
+               System.out.println(tpdu_submit.destAddr.diallingNum);
+               System.out.println("Message : ");
+               System.out.println(tpdu_submit.userData);
+       }
+
+       private char[] getCharArray(char[] org, int start) {
+               int length = org.length - start;
+               char[] result = new char[length];
+               
+               for(int i = 0; i < length; i++) {
+                       result[i] = org[start + i];
+               }
+               return result;
+       }
+       
+       private void SmsUtilDecodeDCS(TapiNetTextCodingScheme pCodingScheme, char dcs) {
+               if ( dcs < 0x40 ) { // bits 7..4 = 00xx : general data coding indication
+                       pCodingScheme.codingGroupType = EnumConstants.TAPI_NETTEXT_CODGRP_SM_GENERAL_DCS;
+
+                       if ((dcs & 0x20) != 0) // bit 5 = 1 : indicates the text is compressed
+                               pCodingScheme.bCompressed = true;
+
+                       if ((dcs & 0x10) != 0) // bit 4 = 1 : indicates that bits  1 to 0 have a message class meaning
+                       {
+                               pCodingScheme.bMsgClassSet = true;
+
+                               switch ( dcs & 0x03 ) // bits 1 to 0 : message class
+                               {
+                                       case 0x00:
+                                               pCodingScheme.classType = EnumConstants.TAPI_NETTEXT_CLASS_0;
+                                               break;
+                                       case 0x01:
+                                               pCodingScheme.classType = EnumConstants.TAPI_NETTEXT_CLASS_1;
+                                               break;
+                                       case 0x02:
+                                               pCodingScheme.classType = EnumConstants.TAPI_NETTEXT_CLASS_2;
+                                               break;
+                                       case 0x03:
+                                               pCodingScheme.classType = EnumConstants.TAPI_NETTEXT_CLASS_3;
+                                               break;
+                               }
+                       }
+                       else // bit 4 = 0 : indicates that bits 1 to 0 are reserved and have no message class meaning
+                               pCodingScheme.classType = EnumConstants.TAPI_NETTEXT_CLASS_NONE;
+
+                       switch ( dcs & 0x0C ) // bits 4 to 3 : character set
+                       {
+                               case 0x00:
+                                       pCodingScheme.alphabetType = EnumConstants.TAPI_NETTEXT_ALPHABET_DEFAULT;
+                                       break;
+                               case 0x04:
+                                       pCodingScheme.alphabetType = EnumConstants.TAPI_NETTEXT_ALPHABET_8BIT;
+                                       break;
+                               case 0x08:
+                                       pCodingScheme.alphabetType = EnumConstants.TAPI_NETTEXT_ALPHABET_UCS2;
+                                       break;
+                               case 0x0C:
+                                       pCodingScheme.alphabetType = EnumConstants.TAPI_NETTEXT_ALPHABET_MAX;
+                                       break;
+                       }
+               }
+               else if ( dcs >= 0x40 && dcs < 0x80 ) // bits 7..4 = 01xx : message marked for automatic deletion group. bits 5..0 are coded exactly the same as group 00xx
+               {
+                       pCodingScheme.codingGroupType = EnumConstants.TAPI_NETTEXT_CODGRP_SM_AUTO_DELETION;
+
+                       if ((dcs & 0x20) != 0) // bit 5 = 1 : indicates the text is compressed
+                               pCodingScheme.bCompressed = true;
+
+                       if ((dcs & 0x10) != 0) // bit 4 = 1 : indicates that bits  1 to 0 have a message class meaning
+                       {
+                               pCodingScheme.bMsgClassSet = true;
+
+                               switch ( dcs & 0x03 ) // bits 1 to 0 : message class
+                               {
+                                       case 0x00:
+                                               pCodingScheme.classType = EnumConstants.TAPI_NETTEXT_CLASS_0;
+                                               break;
+                                       case 0x01:
+                                               pCodingScheme.classType = EnumConstants.TAPI_NETTEXT_CLASS_1;
+                                               break;
+                                       case 0x02:
+                                               pCodingScheme.classType = EnumConstants.TAPI_NETTEXT_CLASS_2;
+                                               break;
+                                       case 0x03:
+                                               pCodingScheme.classType = EnumConstants.TAPI_NETTEXT_CLASS_3;
+                                               break;
+                               }
+                       }
+                       else // bit 4 = 0 : indicates that bits 1 to 0 are reserved and have no message class meaning
+                               pCodingScheme.classType = EnumConstants.TAPI_NETTEXT_CLASS_NONE;
+
+                       switch ( dcs & 0x0C ) // bits 4 to 3 : character set
+                       {
+                               case 0x00:
+                                       pCodingScheme.alphabetType = EnumConstants.TAPI_NETTEXT_ALPHABET_DEFAULT;
+                                       break;
+                               case 0x04:
+                                       pCodingScheme.alphabetType = EnumConstants.TAPI_NETTEXT_ALPHABET_8BIT;
+                                       break;
+                               case 0x08:
+                                       pCodingScheme.alphabetType = EnumConstants.TAPI_NETTEXT_ALPHABET_UCS2;
+                                       break;
+                               case 0x0C:
+                                       pCodingScheme.alphabetType = EnumConstants.TAPI_NETTEXT_ALPHABET_MAX;
+                                       break;
+                       }
+               }
+               // bits 7..4 = 1000 ~ 1011 : reserved
+               else if (dcs == 0xC0) // bits 7..4 = 1100 : message waiting indication group, discard message
+               {
+                       pCodingScheme.codingGroupType = EnumConstants.TAPI_NETTEXT_CODGRP_SM_WAITING_DISCARD;
+               }
+               else if (dcs < 0xE0)
+               {
+                       pCodingScheme.codingGroupType = EnumConstants.TAPI_NETTEXT_CODGRP_SM_WAITING_STORE;
+
+                       if ((dcs & 0x08) != 0)
+                               pCodingScheme.bMsgIndActive = true;
+
+                       switch (dcs & 0x03)
+                       {
+                               case 0x00:
+                                       pCodingScheme.waitingType = EnumConstants.TAPI_NETTEXT_WAITING_VOICE_MSG;
+                                       break;
+                               case 0x01:
+                                       pCodingScheme.waitingType = EnumConstants.TAPI_NETTEXT_WAITING_FAX_MSG;
+                                       break;
+                               case 0x02:
+                                       pCodingScheme.waitingType = EnumConstants.TAPI_NETTEXT_WAITING_EMAIL_MSG;
+                                       break;
+                               case 0x03:
+                                       pCodingScheme.waitingType = EnumConstants.TAPI_NETTEXT_WAITING_OTHER_MSG;
+                                       break;
+                       }
+               }
+               else if (dcs < 0xF0)
+               {
+                       pCodingScheme.codingGroupType = EnumConstants.TAPI_NETTEXT_CODGRP_SM_WAITING_STORE_UCS2;
+
+                       if ((dcs & 0x08) != 0)
+                               pCodingScheme.bMsgIndActive = true;
+
+                       switch (dcs & 0x03)
+                       {
+                               case 0x00:
+                                       pCodingScheme.waitingType = EnumConstants.TAPI_NETTEXT_WAITING_VOICE_MSG;
+                                       break;
+                               case 0x01:
+                                       pCodingScheme.waitingType = EnumConstants.TAPI_NETTEXT_WAITING_FAX_MSG;
+                                       break;
+                               case 0x02:
+                                       pCodingScheme.waitingType = EnumConstants.TAPI_NETTEXT_WAITING_EMAIL_MSG;
+                                       break;
+                               case 0x03:
+                                       pCodingScheme.waitingType = EnumConstants.TAPI_NETTEXT_WAITING_OTHER_MSG;
+                                       break;
+                       }
+               }
+               else
+               {
+                       pCodingScheme.codingGroupType = EnumConstants.TAPI_NETTEXT_CODGRP_SM_CLASS_CODING;
+
+                       if ((dcs & 0x04) != 0)
+                               pCodingScheme.alphabetType = EnumConstants.TAPI_NETTEXT_ALPHABET_8BIT;
+
+                       switch (dcs & 0x03)
+                       {
+                               case 0x00:
+                                       pCodingScheme.classType = EnumConstants.TAPI_NETTEXT_CLASS_0;
+                                       break;
+                               case 0x01:
+                                       pCodingScheme.classType = EnumConstants.TAPI_NETTEXT_CLASS_1;
+                                       break;
+                               case 0x02:
+                                       pCodingScheme.classType = EnumConstants.TAPI_NETTEXT_CLASS_2;
+                                       break;
+                               case 0x03:
+                                       pCodingScheme.classType = EnumConstants.TAPI_NETTEXT_CLASS_3;
+                                       break;
+                       }
+               }
+       }
+
+       private void SmsUtilDecodeAddrField_sca(char[] diallingNum, char[] pAddrField) {
+//             int ton, npi;
+               int index = 0;
+               int dialnumLen = 0;
+               int length = 0;
+               
+               ton = (pAddrField[index+1] & 0x70) >> 4;
+               npi = pAddrField[index+1] & 0x0F;
+               
+               if(ton != EnumConstants.SIM_TON_ALPHA_NUMERIC) {
+                       length = pAddrField[index];
+                       if(length > 1)
+                               dialnumLen = (pAddrField[index++] - 1) * 2;
+               } else
+                       dialnumLen = (((pAddrField[index++] + 1) / 2) * 8) / 7;
+
+               if(dialnumLen > EnumConstants.SIM_SMSP_ADDRESS_LEN)
+                       dialnumLen = EnumConstants.SIM_SMSP_ADDRESS_LEN;
+               
+               // Ignore type of address field
+               index++;
+               
+               if(ton != EnumConstants.SIM_TON_ALPHA_NUMERIC)
+                       SmsUtilConvertBCD2Digit(diallingNum, getCharArray(pAddrField, index), dialnumLen);
+               else
+                       SmsUtilUnpackGSMCode(diallingNum, getCharArray(pAddrField, index), dialnumLen);
+       }
+       
+       private void SmsUtilDecodeAddrField_dst(char[] diallingNum, char[] pAddrField) {
+//             int ton, npi;
+               int index = 0;
+               int dialnumLen = 0;
+               
+               ton = (pAddrField[index+1] & 0x70) >> 4;
+               npi = pAddrField[index+1] & 0x0F;
+               
+               if(ton != EnumConstants.SIM_TON_ALPHA_NUMERIC)
+                       dialnumLen = pAddrField[index++];
+               else
+                       dialnumLen = (((pAddrField[index++] + 1) / 2) * 8) / 7;
+               
+               if(dialnumLen > EnumConstants.SIM_SMSP_ADDRESS_LEN)
+                       dialnumLen = EnumConstants.SIM_SMSP_ADDRESS_LEN;
+               
+               // Ignore type of address field
+               index++;
+               
+               if(ton != EnumConstants.SIM_TON_ALPHA_NUMERIC)
+                       SmsUtilConvertBCD2Digit(diallingNum, getCharArray(pAddrField, index), dialnumLen);
+               else
+                       SmsUtilUnpackGSMCode(diallingNum, getCharArray(pAddrField, index), dialnumLen);
+       }
+       
+       private void SmsUtilConvertBCD2Digit(char[] pDigits, char[] pBCD, int digitLen) {
+               int i, bcdLen;
+               char[] c = {0x00, 0x00};
+               char higher, lower;
+               
+               if(pBCD == null || pDigits == null)
+                       throw new NullPointerException("SmsUtilConvertBCD2Digit"); //$NON-NLS-1$
+               
+               if(digitLen == 0) {
+                       pDigits[0] = 0x00;
+                       return;
+               }
+               
+               if((digitLen % 2) != 0)
+                       bcdLen = digitLen / 2 + 1;
+               else
+                       bcdLen = digitLen / 2;
+               
+               for(i = 0; i < bcdLen; i++) {
+                       lower = (char)(pBCD[i] & 0x0F);
+                       
+                       if(lower == 0x0A)
+                               lower = '*';
+                       else if(lower == 0x0B)
+                               lower = '#';
+                       else if(lower == 0x0C)
+                               lower = 'p';
+                       else if(lower == 0x0F)
+                               lower = 0;
+                       else {
+                               AcItoa(lower, c, 16);
+                               lower = (char)AcToupper(c[0]);
+                       }
+                       
+                       higher = (char)((pBCD[i] >> 4) & 0x0F);
+                       
+                       if(higher == 0x0A)
+                               higher = '*';
+                       else if(higher == 0x0B)
+                               higher = '#';
+                       else if(higher == 0x0C)
+                               higher = 'p';
+                       else if(higher == 0x0F) {
+                               pDigits[getSize(pDigits)] = lower;
+                               pDigits[bcdLen*2-1] = '\0';
+                               return;
+                       }
+                       else {
+                               AcItoa(higher, c, 16);
+                               higher = (char)AcToupper(c[0]);
+                       }
+                       pDigits[getSize(pDigits)] = lower;
+                       pDigits[getSize(pDigits)] = higher;
+               }
+               pDigits[digitLen] = '\0';
+       }
+       
+       private int getSize(char[] array) {
+               int ret = 0;
+               String str = new String(array);
+               ret = str.indexOf('\0');
+               return ret;
+       }
+       
+       private int AcToupper(int ch) {
+               return (('a' <= (ch) && (ch) <= 'z') ? ((ch) - ('a' - 'A')) : (ch));
+       }
+       
+       private void AcItoa(int n, char[] str, int b) {
+               int i = 0;
+               String arr = new String("0123456789ABCDEF"); //$NON-NLS-1$
+               do
+                       str[i++] = arr.charAt(n%b);
+               while((n /= b) > 0);
+               reverse(str, i);
+               str[i] = '\0';
+       }
+       
+       private void reverse(char[] x, int len) {
+               int i, j = len-1;
+               for(i = 0; i < j; i++) {
+                       char t = x[i];
+                       x[i] = x[j];
+                       x[j--] = t;
+               }
+       }
+       
+       private void SmsUtilUnpackGSMCode(char[] szData, char[] pIn, int in_len) {
+               int shift = 0;
+               int pos = 0;
+               
+               for(int i = 0; i < in_len; i++, pos++) {
+                       szData[i] = (char)((pIn[pos] << shift) & 0x7F);
+                       if(pos != 0) {
+                               /* except the first byte, a character contains some bits
+                                * from the previous byte
+                                */
+                               szData[i] |= pIn[pos-1] >> (8-shift);
+                       }
+                       shift++;
+                       
+                       if(shift == 7) {
+                               shift = 0;
+                               /* a possible extra complete character is available */
+                               i++;
+                               szData[i] = (char)(pIn[pos] >> 1);
+                               /* This is the end of the input, quit */
+                               if(szData[i] == 0)
+                                       break;
+                       }
+               }
+       }       
+}
\ No newline at end of file
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/EncodeMsg.java b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/EncodeMsg.java
new file mode 100644 (file)
index 0000000..1b936c8
--- /dev/null
@@ -0,0 +1,500 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.sms.encription;
+
+public class EncodeMsg {
+       int index;
+
+       public int EncodeSmsDeliverTpdu(SmsAddressInfo SCA,
+                       TPDU_SMS_DELIVER tpdu_deliver, char[] packet, int pid, int dcs) {
+               // char tp_dcs; // BYTE
+               char[] timeStamp = new char[21];
+               char[] scaNumber = new char[21];
+               char[] orgNumber = new char[21];
+               int scaLength;
+               int orgLength;
+               int i;
+
+               index = 0;
+
+               if (SCA.diallingNum[0] == '+') {
+                       for (i = 0; i < SCA.dialnumlen-1; i++) {
+                               scaNumber[i] = SCA.diallingNum[i + 1];
+                       }
+                       scaLength = SCA.dialnumlen - 1;
+                       scaNumber[scaLength] = '\0';
+               } else {
+                       for (i = 0; i < SCA.dialnumlen; i++) {
+                               scaNumber[i] = SCA.diallingNum[i];
+                       }
+                       scaLength = SCA.dialnumlen;
+                       scaNumber[scaLength] = '\0';
+               }
+
+               SmsUtilEncodeAddrField_sca(packet, scaNumber, scaLength, 0x01, 0x01);
+
+               tpdu_deliver.msgType = EnumConstants.SMS_TPDU_DELIVER;
+
+               packet[index] = (char) tpdu_deliver.msgType;
+               packet[index] |= tpdu_deliver.mms ? 0x04 : 0;
+               packet[index] |= tpdu_deliver.sri ? 0x20 : 0;
+               packet[index] |= tpdu_deliver.udhi ? 0x40 : 0;
+               packet[index] |= tpdu_deliver.rp ? 0x80 : 0;
+
+               index++;
+
+               if (tpdu_deliver.orgAddr.diallingNum[0] == '+') {
+                       for (i = 0; i < tpdu_deliver.orgAddr.dialnumlen-1; i++) {
+                               orgNumber[i] = tpdu_deliver.orgAddr.diallingNum[i + 1];
+                       }
+                       orgLength = tpdu_deliver.orgAddr.dialnumlen - 1;
+                       orgNumber[orgLength] = '\0';
+               } else {
+                       for (i = 0; i < tpdu_deliver.orgAddr.dialnumlen; i++) {
+                               orgNumber[i] = tpdu_deliver.orgAddr.diallingNum[i];
+                       }
+                       orgLength = tpdu_deliver.orgAddr.dialnumlen;
+                       orgNumber[orgLength] = '\0';
+               }
+
+               /* TP-OA */
+               SmsUtilEncodeAddrField_dst(packet, orgNumber, orgLength, 0x01, 0x01);
+
+               /* TP-PID */
+               packet[index++] = (char) pid;
+
+               int tp_dcs = SmsUtilEncodeDCS(tpdu_deliver.dcs);
+
+               packet[index++] = (char) tp_dcs;
+
+               SmsUtilEncodeTimeStamp(tpdu_deliver.scts, timeStamp);
+
+               for (i = 0; i < 7; i++) {
+                       packet[index++] = timeStamp[i];
+               }
+
+               /* TP-UD */
+               switch(tpdu_deliver.dcs.alphabetType) {
+                       case EnumConstants.TAPI_NETTEXT_ALPHABET_DEFAULT:
+                               /* UDL */
+                               packet[index++] = (char) tpdu_deliver.userData.length;
+                               SmsUtilPackGSMCode(packet, tpdu_deliver.userData,
+                                               tpdu_deliver.userData.length);
+                               break;
+                       case EnumConstants.TAPI_NETTEXT_ALPHABET_8BIT:
+                               packet[index++] = (char) tpdu_deliver.userData.length;
+                               SmsUtilPackGSM8Code(packet, tpdu_deliver.userData,
+                                               tpdu_deliver.userData.length);
+                               break;
+                       case EnumConstants.TAPI_NETTEXT_ALPHABET_UCS2:
+                               throw new NullPointerException(Messages.EncodeMsg_0);
+                       default:
+                               throw new NullPointerException(Messages.EncodeMsg_1);
+               }
+
+               return index;
+       }
+
+       private void SmsUtilPackGSMCode(char[] pOut, char[] szData, int in_len) {
+               int shift = 0;
+
+               for (int i = 0; i < in_len; index++, i++) {
+                       /* pack the high bits using the low bits of the next character */
+                       pOut[index] = (char) (szData[i] >> shift);
+                       if (i + 1 < in_len) {
+                               /* pack the high bits using the low bits of the next character */
+                               pOut[index] |= szData[i + 1] << (7 - shift);
+                               pOut[index] &= 0xFF;
+                               shift++;
+
+                               if (shift == 7) {
+                                       shift = 0;
+                                       i++;
+                               }
+                       }
+               }
+       }
+
+       private void SmsUtilPackGSM8Code(char[] pOut, char[] szData, int in_len) {
+               for(int i = 0; i < in_len; i++) {
+                       pOut[index++] = szData[i];
+               }
+       }
+       
+       private void SmsUtilEncodeTimeStamp(TmDateTime tmDateTime, char[] timeStamp) {
+               char[] szBuf = new char[3];
+               char[] tmpBuf = new char[20];
+               int year;
+
+               for (int i = 0; i < 7; i++) {
+                       timeStamp[i] = 0x00;
+               }
+
+               year = tmDateTime.year - 2000;
+               if (year < 0)
+                       year += 100;
+
+               szBuf = String.format("%02d", year).toCharArray(); //$NON-NLS-1$
+               SmsUtilConvertDigit2BCD(tmpBuf, szBuf, 2);
+               timeStamp[0] = tmpBuf[0];
+               szBuf = String.format("%02d", tmDateTime.month).toCharArray(); //$NON-NLS-1$
+               SmsUtilConvertDigit2BCD(tmpBuf, szBuf, 2);
+               timeStamp[1] = tmpBuf[0];
+               szBuf = String.format("%02d", tmDateTime.day).toCharArray(); //$NON-NLS-1$
+               SmsUtilConvertDigit2BCD(tmpBuf, szBuf, 2);
+               timeStamp[2] = tmpBuf[0];
+               szBuf = String.format("%02d", tmDateTime.hour).toCharArray(); //$NON-NLS-1$
+               SmsUtilConvertDigit2BCD(tmpBuf, szBuf, 2);
+               timeStamp[3] = tmpBuf[0];
+               szBuf = String.format("%02d", tmDateTime.minute).toCharArray(); //$NON-NLS-1$
+               SmsUtilConvertDigit2BCD(tmpBuf, szBuf, 2);
+               timeStamp[4] = tmpBuf[0];
+               szBuf = String.format("%02d", tmDateTime.second).toCharArray(); //$NON-NLS-1$
+               SmsUtilConvertDigit2BCD(tmpBuf, szBuf, 2);
+               timeStamp[5] = tmpBuf[0];
+               szBuf = String.format("%02d", 0x00).toCharArray(); //$NON-NLS-1$
+               SmsUtilConvertDigit2BCD(tmpBuf, szBuf, 2);
+               timeStamp[6] = tmpBuf[0];
+       }
+
+       private char SmsUtilEncodeDCS(TapiNetTextCodingScheme codingScheme) {
+               char dcs = 0x00;
+
+               switch (codingScheme.codingGroupType) {
+               case EnumConstants.TAPI_NETTEXT_CODGRP_SM_GENERAL_DCS: // bit 7..4 is
+                                                                                                                               // 00xx
+               {
+                       if (codingScheme.bCompressed)
+                               dcs |= 0x20; // bit 5 is 1
+
+                       if (codingScheme.bMsgClassSet) {
+                               dcs |= 0x10; // bit 4 is 1
+
+                               switch (codingScheme.classType) {
+                               case EnumConstants.TAPI_NETTEXT_CLASS_0: // bit 1..0 is 00
+                               {
+                                       dcs |= 0x00;
+                                       break;
+                               }
+                               case EnumConstants.TAPI_NETTEXT_CLASS_1: // bit 1..0 is 01
+                               {
+                                       dcs |= 0x01;
+                                       break;
+                               }
+                               case EnumConstants.TAPI_NETTEXT_CLASS_2: // bit 1..0 is 10
+                               {
+                                       dcs |= 0x02;
+                                       break;
+                               }
+                               case EnumConstants.TAPI_NETTEXT_CLASS_3: // bit 1..0 is 11
+                               {
+                                       dcs |= 0x03;
+                                       break;
+                               }
+                               default:
+                                       break;
+                               }
+                       }
+
+                       switch (codingScheme.alphabetType) {
+                       case EnumConstants.TAPI_NETTEXT_ALPHABET_DEFAULT: // bit 3..2 is 00
+                       {
+                               dcs |= 0x00;
+                               break;
+                       }
+                       case EnumConstants.TAPI_NETTEXT_ALPHABET_8BIT: // bit 3..2 is 01
+                       {
+                               dcs |= 0x04;
+                               break;
+                       }
+                       case EnumConstants.TAPI_NETTEXT_ALPHABET_UCS2: // bit 3..2 is 10
+                       {
+                               dcs |= 0x08;
+                               break;
+                       }
+                       default: // bit 3..2 is 11
+                       {
+                               dcs |= 0x0C;
+                               break;
+                       }
+                       }
+
+                       break;
+               }
+               case EnumConstants.TAPI_NETTEXT_CODGRP_SM_WAITING_DISCARD: // bit 7..4
+                                                                                                                                       // is 1100
+               {
+                       dcs |= 0xC0;
+
+                       break;
+               }
+               case EnumConstants.TAPI_NETTEXT_CODGRP_SM_WAITING_STORE: // bit 7..4 is
+                                                                                                                                       // 1101
+               {
+                       dcs |= 0xD0;
+
+                       if (codingScheme.bMsgIndActive) // bit 3..2 is 10
+                               dcs |= 0x08;
+
+                       switch (codingScheme.waitingType) {
+                       case EnumConstants.TAPI_NETTEXT_WAITING_VOICE_MSG: // bit 1..0 is 00
+                       {
+                               dcs |= 0x00;
+                               break;
+                       }
+                       case EnumConstants.TAPI_NETTEXT_WAITING_FAX_MSG: // bit 1..0 is 01
+                       {
+                               dcs |= 0x01;
+                               break;
+                       }
+                       case EnumConstants.TAPI_NETTEXT_WAITING_EMAIL_MSG: // bit 1..0 is 10
+                       {
+                               dcs |= 0x02;
+                               break;
+                       }
+                       case EnumConstants.TAPI_NETTEXT_WAITING_OTHER_MSG: // bit 1..0 is 11
+                       {
+                               dcs |= 0x03;
+                               break;
+                       }
+                       default:
+                               break;
+                       }
+
+                       break;
+               }
+               case EnumConstants.TAPI_NETTEXT_CODGRP_SM_WAITING_STORE_UCS2: // bit
+                                                                                                                                               // 7..4
+                                                                                                                                               // is
+                                                                                                                                               // 1110
+               {
+                       dcs |= 0xE0;
+
+                       if (codingScheme.bMsgIndActive) // bit 3..2 is 10
+                               dcs |= 0x08;
+
+                       switch (codingScheme.waitingType) {
+                       case EnumConstants.TAPI_NETTEXT_WAITING_VOICE_MSG: // bit 1..0 is 00
+                       {
+                               dcs |= 0x00;
+                               break;
+                       }
+                       case EnumConstants.TAPI_NETTEXT_WAITING_FAX_MSG: // bit 1..0 is 01
+                       {
+                               dcs |= 0x01;
+                               break;
+                       }
+                       case EnumConstants.TAPI_NETTEXT_WAITING_EMAIL_MSG: // bit 1..0 is 10
+                       {
+                               dcs |= 0x02;
+                               break;
+                       }
+                       case EnumConstants.TAPI_NETTEXT_WAITING_OTHER_MSG: // bit 1..0 is 11
+                       {
+                               dcs |= 0x03;
+                               break;
+                       }
+                       default:
+                               break;
+                       }
+
+                       break;
+               }
+               case EnumConstants.TAPI_NETTEXT_CODGRP_SM_CLASS_CODING: // bit 7..4 is
+                                                                                                                               // 1111
+               {
+                       dcs |= 0xF0;
+
+                       switch (codingScheme.alphabetType) {
+                       case EnumConstants.TAPI_NETTEXT_ALPHABET_DEFAULT: // bit 2 is 0
+                       {
+                               dcs |= 0x00;
+                               break;
+                       }
+                       case EnumConstants.TAPI_NETTEXT_ALPHABET_8BIT: // bit 2 is 1
+                       {
+                               dcs |= 0x04;
+                               break;
+                       }
+                       default:
+                               break;
+                       }
+
+                       switch (codingScheme.classType) {
+                       case EnumConstants.TAPI_NETTEXT_CLASS_0: // bit 1..0 is 00
+                       {
+                               break;
+                       }
+                       case EnumConstants.TAPI_NETTEXT_CLASS_1: // bit 1..0 is 01
+                       {
+                               dcs |= 0x01;
+                               break;
+                       }
+                       case EnumConstants.TAPI_NETTEXT_CLASS_2: // bit 1..0 is 10
+                       {
+                               dcs |= 0x02;
+                               break;
+                       }
+                       case EnumConstants.TAPI_NETTEXT_CLASS_3: // bit 1..0 is 11
+                       {
+                               dcs |= 0x03;
+                               break;
+                       }
+                       default:
+                               break;
+                       }
+
+                       break;
+               }
+               case EnumConstants.TAPI_NETTEXT_CODGRP_SM_RESERVED: // bit 7..4 is 1111
+               {
+                       dcs = (char) ((codingScheme.codingGroup << 4) & 0xF0);
+                       dcs |= (codingScheme.code & 0x0F);
+                       break;
+               }
+               default:
+                       break;
+               }
+               return dcs;
+       }
+       
+       private void SmsUtilEncodeAddrField_sca(char[] pAddrField, char[] diallingNum,
+                       int dialnumLen, int ton, int npi) {
+//             int index = 0;
+               
+               if (pAddrField == null || diallingNum == null)
+                       throw new NullPointerException("SmsUtilEncodeAddrField"); //$NON-NLS-1$
+
+               if (ton != EnumConstants.SIM_TON_ALPHA_NUMERIC) {
+                       if((dialnumLen % 2) != 0) {
+                               pAddrField[index++] = (char)(dialnumLen / 2 + 1 + 1);
+                       } else {
+                               pAddrField[index++] = (char)(dialnumLen / 2 + 1);
+                       }
+               } else {
+                       pAddrField[index] = (char) (((dialnumLen * 7 + 7) / 8) * 2);
+                       if (((dialnumLen * 7) % 8) <= 4) {
+                               pAddrField[index]--;
+                       }
+                       index++;
+               }
+
+               // SET_TON_NPI
+               pAddrField[index] = 0x80;
+               pAddrField[index] |= (ton & 0x07) << 4;
+               pAddrField[index] |= npi & 0x0F;
+
+               index++;
+
+               if (ton != EnumConstants.SIM_TON_ALPHA_NUMERIC) {
+                       int i, j, k;
+                       char[] tmpBuf = new char[dialnumLen];
+                       SmsUtilConvertDigit2BCD(tmpBuf, diallingNum, dialnumLen);
+                       j = index;
+                       
+                       if((dialnumLen % 2) != 0) {
+                               index += dialnumLen / 2 + 1;
+                       }
+                       else {
+                               index += dialnumLen / 2;
+                       }
+
+                       for(i = j, k = 0; i < index; i++, k++)
+                               pAddrField[i] = tmpBuf[k];
+               } else {
+                       SmsUtilPackGSMCode(pAddrField, diallingNum, (int) dialnumLen);
+               }
+       }
+       
+       private void SmsUtilEncodeAddrField_dst(char[] packet, char[] diallingNum,
+                       int dialnumLen, int ton, int npi) {
+//             int index = 0;
+               
+               if (packet == null || diallingNum == null)
+                       throw new NullPointerException("SmsUtilEncodeAddrField"); //$NON-NLS-1$
+
+               if (ton != EnumConstants.SIM_TON_ALPHA_NUMERIC) {
+                       packet[index++] = (char) dialnumLen;
+               } else {
+                       packet[index] = (char) (((dialnumLen * 7 + 7) / 8) * 2);
+                       if (((dialnumLen * 7) % 8) <= 4) {
+                               packet[index]--;
+                       }
+                       index++;
+               }
+
+               // SET_TON_NPI
+               packet[index] = 0x80;
+               packet[index] |= (ton & 0x07) << 4;
+               packet[index] |= npi & 0x0F;
+
+               index++;
+
+               if (ton != EnumConstants.SIM_TON_ALPHA_NUMERIC) {
+                       int i, j, k;
+                       char[] tmpBuf = new char[dialnumLen];
+                       for (i = 0; i < dialnumLen; i++)
+                               tmpBuf[i] = 0x00;
+
+                       SmsUtilConvertDigit2BCD(tmpBuf, diallingNum, dialnumLen);
+                       j = index;
+
+                       if ((dialnumLen % 2) != 0)
+                               index += dialnumLen / 2 + 1;
+                       else
+                               index += dialnumLen / 2;
+
+                       for (i = j, k = 0; i < index; i++, k++) {
+                               packet[i] = tmpBuf[k];
+                       }
+               } else {
+                       SmsUtilPackGSMCode(packet, diallingNum, (int) dialnumLen);
+               }
+       }
+
+       private void SmsUtilConvertDigit2BCD(char[] pBCD, char[] pDigits,
+                       long digitLen) {
+               int i, j, digit;
+               char higher, lower;
+
+               if (pBCD == null || pDigits == null)
+                       throw new NullPointerException("SmsUtilConvertDigit2BCD"); //$NON-NLS-1$
+
+               for (i = 0, j = 0; i < digitLen; i = i + 2, j++) {
+                       if (pDigits[i] == '*')
+                               digit = 0x0A;
+                       else if (pDigits[i] == '#')
+                               digit = 0x0B;
+                       else if (AcToupper(pDigits[i]) == 'P')
+                               digit = 0x0C;
+                       else
+                               digit = (int) (pDigits[i] - '0');
+
+                       lower = (char) (digit & 0x0F);
+
+                       if (digitLen != i + 1) {
+                               if (pDigits[i + 1] == '*')
+                                       digit = 0x0A;
+                               else if (pDigits[i + 1] == '#')
+                                       digit = 0x0B;
+                               else if (AcToupper(pDigits[i + 1]) == 'P')
+                                       digit = 0x0C;
+                               else
+                                       digit = (int) (pDigits[i + 1] - '0');
+
+                               higher = (char) (digit & 0x0F);
+                       } else {
+                               higher = 0xFF;
+                       }
+                       pBCD[j] = (char) ((higher << 4) | lower);
+                       pBCD[j] &= 0xFF;
+               }
+       }
+
+       private int AcToupper(int ch) {
+               return (('a' <= (ch) && (ch) <= 'z') ? ((ch) - ('a' - 'A')) : (ch));
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/EnumConstants.java b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/EnumConstants.java
new file mode 100644 (file)
index 0000000..89038e9
--- /dev/null
@@ -0,0 +1,86 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.sms.encription;
+
+public class EnumConstants {
+       // SmsTPDUType
+       public static final int SMS_TPDU_DELIVER = 0x00;
+       public static final int SMS_TPDU_DELIVER_REPORT = 0x00;
+       public static final int SMS_TPDU_SUBMIT = 0x01;
+       public static final int SMS_TPDU_SUBMIT_REPORT = 0x01;
+       public static final int SMS_TPDU_STATUS_REPORT = 0x02;
+       public static final int SMS_TPDU_COMMAND = 0x02;
+       public static final int SMS_PDU_INVALID_TYPE = 0x03;
+       
+       // NumberingPlan
+       public static final int NUMBERING_PLAN_IDENTIFICATION_UNKNOWN = 0x00;
+       public static final int NUMBERING_PLAN_IDENTIFICATIN_ISDN_TELEPHONE = 0x01;
+
+       // TapiNetTextCodingGroupType
+       public static final int TAPI_NETTEXT_CODGRP_SM_GENERAL_DCS = 0x00;
+       public static final int TAPI_NETTEXT_CODGRP_CB_GENERAL_LANG = 0x01;
+       public static final int TAPI_NETTEXT_CODGRP_CB_ALPHA = 0x02;
+       public static final int TAPI_NETTEXT_CODGRP_CB_RES1 = 0x03;
+       public static final int TAPI_NETTEXT_CODGRP_CB_RES2 = 0x04;
+       public static final int TAPI_NETTEXT_CODGRP_SM_AUTO_DELETION = 0x05;
+       public static final int TAPI_NETTEXT_CODGRP_CB_GENERAL_DCS = 0x06;
+       public static final int TAPI_NETTEXT_CODGRP_SM_WAITING_DISCARD = 0x07;
+       public static final int TAPI_NETTEXT_CODGRP_SM_WAITING_STORE = 0x08;
+       public static final int TAPI_NETTEXT_CODGRP_SM_WAITING_STORE_UCS2 = 0x09;
+       public static final int TAPI_NETTEXT_CODGRP_CB_WAP = 0x0A;
+       public static final int TAPI_NETTEXT_CODGRP_SM_CLASS_CODING = 0x0B;
+       public static final int TAPI_NETTEXT_CODGRP_CB_CLASS_CODING = 0x0C;
+       public static final int TAPI_NETTEXT_CODGRP_SM_RESERVED = 0x0D;
+       public static final int TAPI_NETTEXT_CODGRP_MAX = 0x0E;
+       
+       // TapiNetTextWaitingType
+       public static final int TAPI_NETTEXT_WAITING_VOICE_MSG = 0x00;
+       public static final int TAPI_NETTEXT_WAITING_FAX_MSG = 0x01;
+       public static final int TAPI_NETTEXT_WAITING_EMAIL_MSG = 0x02;
+       public static final int TAPI_NETTEXT_WAITING_OTHER_MSG = 0x03;
+       public static final int TAPI_NETTEXT_WAITING_MAX = 0x04;
+       
+       // TapiNetTextAlphabetType
+       public static final int TAPI_NETTEXT_ALPHABET_DEFAULT = 0x00;
+       public static final int TAPI_NETTEXT_ALPHABET_8BIT = 0x01;
+       public static final int TAPI_NETTEXT_ALPHABET_UCS2 = 0x02;
+       public static final int TAPI_NETTEXT_ALPHABET_KSC5601 = 0x03;
+       public static final int TAPI_NETTEXT_ALPHABET_MAX = 0x04;
+       
+       // TapiNetTextClasstype
+       public static final int TAPI_NETTEXT_CLASS_0 = 0x00;
+       public static final int TAPI_NETTEXT_CLASS_1 = 0x01;
+       public static final int TAPI_NETTEXT_CLASS_2 = 0x02;
+       public static final int TAPI_NETTEXT_CLASS_3 = 0x03;
+       public static final int TAPI_NETTEXT_CLASS_NONE = 0x04;
+       public static final int TAPI_NETTEXT_CLASS_MAX = 0x05;
+       
+       // TapiNetTextVPType
+       public static final int TAPI_NETTEXT_VP_NOT_USED = 0;
+       public static final int TAPI_NETTEXT_VP_RELATIVE = 2;
+       public static final int TAPI_NETTEXT_VP_ABSOLUTE = 3;
+       public static final int TAPI_NETTEXT_VP_ENHANCED = 1;
+       public static final int TAPI_NETTEXT_VP_MAX = 4;
+       
+       // TapiNetTextVPRelValue;
+       public static final int TAPI_NETTEXT_VP_REL_1H = 0;
+       public static final int TAPI_NETTEXT_VP_REL_6H = 1;
+       public static final int TAPI_NETTEXT_VP_REL_12H = 2;
+       public static final int TAPI_NETTEXT_VP_REL_1D = 3;
+       public static final int TAPI_NETTEXT_VP_REL_1W = 4;
+       public static final int TAPI_NETTEXT_VP_REL_1M = 5;
+       public static final int TAPI_NETTEXT_VP_REL_MAX = 6;
+       public static final int TAPI_NETTEXT_SMDATA_SIZE_MAX = 255;
+       public static final int TAPI_NETTEXT_ADDRESS_LEN_MAX = 255;
+       public static final int TAPI_NETTEXT_SCADDRESS_LEN_MAX = 20;
+       
+       // define
+       public static final int SIM_TON_INTERNATIONAL = 1;
+       public static final int SIM_TON_ALPHA_NUMERIC = 5;
+       public static final int SIM_SMSP_ADDRESS_LEN = 20;
+
+
+}
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/Messages.java b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/Messages.java
new file mode 100644 (file)
index 0000000..8c34cbb
--- /dev/null
@@ -0,0 +1,16 @@
+package com.samsung.linuxplatform.telephony.sms.encription;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+       private static final String BUNDLE_NAME = "com.samsung.linuxplatform.telephony.sms.encription.messages"; //$NON-NLS-1$
+       public static String EncodeMsg_0;
+       public static String EncodeMsg_1;
+       static {
+               // initialize resource bundle
+               NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+       }
+
+       private Messages() {
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/SmsAddressInfo.java b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/SmsAddressInfo.java
new file mode 100644 (file)
index 0000000..f46b49a
--- /dev/null
@@ -0,0 +1,13 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.sms.encription;
+
+public class SmsAddressInfo {
+       public int ton;         // NumberType
+        public int npi;                // NumberingPlan
+        public int dialnumlen; // UINT32
+        public char diallingNum[] = new char[21];  // unsigned char
+}
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/TPDU_SMS_DELIVER.java b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/TPDU_SMS_DELIVER.java
new file mode 100644 (file)
index 0000000..572e86b
--- /dev/null
@@ -0,0 +1,27 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.sms.encription;
+
+public class TPDU_SMS_DELIVER {
+       public int msgType;    // SmsTPDUType
+       public boolean mms;     // BOOL
+       public boolean rp;      // BOOL
+       public boolean udhi;    // BOOL
+       public boolean sri;     // BOOL
+       
+       public SmsAddressInfo orgAddr;
+       public byte pId;         // BYTE
+       public TmDateTime scts;
+       public TapiNetTextCodingScheme dcs;
+       public int udl;    // UINT
+       public char[] userData; // byte *
+       
+       public TPDU_SMS_DELIVER() {
+               orgAddr = new SmsAddressInfo();
+               scts = new TmDateTime();
+               dcs = new TapiNetTextCodingScheme();
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/TPDU_SMS_SUBMIT.java b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/TPDU_SMS_SUBMIT.java
new file mode 100644 (file)
index 0000000..4ca218c
--- /dev/null
@@ -0,0 +1,54 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.sms.encription;
+
+public class TPDU_SMS_SUBMIT {
+       // message type
+       int msgType;  // SmsTPDUType bit 0,1
+       
+       // reject duplicates
+       boolean rd;  // bit 2
+       
+       // validity period format
+       int vpf; // TapiNetTextVPType bits 3,4
+       
+       // reply path
+       boolean rp;  // bit 7
+       
+       // user data header indication
+       boolean udhi;  // bit 6
+       
+       // status report request
+       boolean srr;  // bit 5
+       
+       /******  BODY *******/
+       //message reference
+       int mr;
+       
+       // destination address
+       public SmsAddressInfo destAddr;
+       
+       // protocol identifier
+       char pId;
+       
+       //data coding scheme
+       TapiNetTextCodingScheme dcs;
+       
+       // validity period
+       TapiNetTextVP vp;
+       
+       // user data length
+       int udl;
+       
+       // user data
+       public char[] userData;
+       
+       public TPDU_SMS_SUBMIT() {
+               dcs = new TapiNetTextCodingScheme();
+               destAddr = new SmsAddressInfo();
+               vp = new TapiNetTextVP();
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/TapiNetTextCodingScheme.java b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/TapiNetTextCodingScheme.java
new file mode 100644 (file)
index 0000000..7669edd
--- /dev/null
@@ -0,0 +1,19 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.sms.encription;
+
+public class TapiNetTextCodingScheme {
+       public boolean bSMSCinSIM;              /**< if SMSC is stored in SIM this is TRUE */
+       public boolean bCompressed;             /**< if text is compressed this is TRUE */
+       public boolean bMsgClassSet;    /**< message class indication. if TRUE = bits 1..0, if FALSE = reserved */
+       public boolean bMsgIndActive;   /**< message indication group. if TRUE = on, FALSE = off */
+       public int codingGroupType;  // TapiNetTextCodingGroupType
+       public int waitingType;      // TapiNetTextWaitingType
+       public int alphabetType;     // TapiNetTextAlphabetType
+       public int classType;        // TapiNetTextClassType
+       public byte codingGroup;
+       public byte code;
+}
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/TapiNetTextVP.java b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/TapiNetTextVP.java
new file mode 100644 (file)
index 0000000..a33c654
--- /dev/null
@@ -0,0 +1,12 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.sms.encription;
+
+public class TapiNetTextVP {
+       int vpType;  // TapiNetTextVPType
+       int vpRelativeType; // TapiNetVPRelValue
+       long vpValue;  // UINT32
+}
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/TmDateTime.java b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/TmDateTime.java
new file mode 100644 (file)
index 0000000..31cc0f3
--- /dev/null
@@ -0,0 +1,15 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.sms.encription;
+
+public class TmDateTime {
+       public int year;
+       public int month;
+       public int day;
+       public int hour;
+       public int minute;
+       public int second;
+}
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/messages.properties b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/encription/messages.properties
new file mode 100644 (file)
index 0000000..85ef492
--- /dev/null
@@ -0,0 +1,2 @@
+EncodeMsg_0=Unknown alphabetType UCS2\!\n
+EncodeMsg_1=Unknown alphabetType\!\n
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/messages.properties b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/messages.properties
new file mode 100644 (file)
index 0000000..ae54aa2
--- /dev/null
@@ -0,0 +1 @@
+TelephonySMS_0=SMS
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/page/CellBroadcasting.java b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/page/CellBroadcasting.java
new file mode 100644 (file)
index 0000000..834b1bc
--- /dev/null
@@ -0,0 +1,92 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.sms.page;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorPage;
+
+public class CellBroadcasting extends AbstractInjectorPage{
+       
+       public CellBroadcasting(AbstractInjectorItem item, String name) {
+               super(item, name);
+       }
+
+//     private final static String PAGE_ID = "com.samsung.linuxplatform.telephony.sms.cellbroadcasting";
+//     private final static String TITLE = "Cell Broadcasting";
+       
+       private final String[] CHANNEL_ID_LIST = {
+                       Messages.CellBroadcasting_0, Messages.CellBroadcasting_1
+       };
+       private final String[] LANGUAGE_LIST = {
+                       Messages.CellBroadcasting_2, Messages.CellBroadcasting_3
+       };
+       private final String[] GEOGRAPHICAL_LIST = {
+                       "00","01","02","03" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+       };
+       
+       private Combo cmbChannelId, cmbLanguage, cmbGeographical;
+       private Text txtMessageIdentifier, txtDCS, txtUpdateNumber, txtPageNumber, txtMessage;
+       private Button butSend;
+
+       protected void createContents() {
+               createCellBroadcastingSection();
+       }
+       
+       protected void registerReceivers() {
+       }
+
+       private void createCellBroadcastingSection() {
+               Composite client = formUtil.createSection(parent, Messages.CellBroadcasting_8);
+               
+               Composite compChannelId = formUtil.createExpandable(client,Messages.CellBroadcasting_9,3);
+               cmbChannelId = formUtil.createCombo(compChannelId);
+               formUtil.addComboItem(cmbChannelId, CHANNEL_ID_LIST);
+               formUtil.createLabel(compChannelId, Messages.CellBroadcasting_10);
+               txtMessageIdentifier = formUtil.createText(compChannelId, ""); //$NON-NLS-1$
+               
+               Composite compLanguage = formUtil.createExpandable(client,Messages.CellBroadcasting_12,3);
+               cmbLanguage = formUtil.createCombo(compLanguage);
+               formUtil.addComboItem(cmbLanguage, LANGUAGE_LIST);
+               formUtil.createLabel(compLanguage, Messages.CellBroadcasting_13);
+               txtDCS = formUtil.createText(compLanguage, ""); //$NON-NLS-1$
+               
+               Composite compSerialNumber = formUtil.createExpandable(client,Messages.CellBroadcasting_15,4);
+               formUtil.createLabel(compSerialNumber, Messages.CellBroadcasting_16);
+               cmbGeographical = formUtil.createCombo(compSerialNumber);
+               formUtil.addComboItem(cmbGeographical, GEOGRAPHICAL_LIST);
+               formUtil.createLabel(compSerialNumber, Messages.CellBroadcasting_17);
+               txtUpdateNumber = formUtil.createText(compSerialNumber, ""); //$NON-NLS-1$
+               
+               Composite compPageNumber = formUtil.createExpandable(client,Messages.CellBroadcasting_19,2);
+               formUtil.createLabel(compPageNumber, Messages.CellBroadcasting_20);
+               txtPageNumber = formUtil.createText(compPageNumber, ""); //$NON-NLS-1$
+               
+               Composite compMessage = formUtil.createExpandable(client,Messages.CellBroadcasting_22);
+               txtMessage = formUtil.createText(compMessage, ""); //$NON-NLS-1$
+               formUtil.setWidth(txtMessage, 350);
+               
+               Composite buttonComposite = formUtil.createComposite(client);
+               butSend = formUtil.createButton(buttonComposite, Messages.CellBroadcasting_24, SWT.PUSH);
+               butSend.addSelectionListener( new SelectionAdapter(){
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               super.widgetSelected(e);
+                       }
+               });             
+       }
+
+
+       
+               
+}
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/page/Messages.java b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/page/Messages.java
new file mode 100644 (file)
index 0000000..d8fed00
--- /dev/null
@@ -0,0 +1,62 @@
+package com.samsung.linuxplatform.telephony.sms.page;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+       private static final String BUNDLE_NAME = "com.samsung.linuxplatform.telephony.sms.page.messages"; //$NON-NLS-1$
+       public static String CellBroadcasting_0;
+       public static String CellBroadcasting_1;
+       public static String CellBroadcasting_10;
+       public static String CellBroadcasting_12;
+       public static String CellBroadcasting_13;
+       public static String CellBroadcasting_15;
+       public static String CellBroadcasting_16;
+       public static String CellBroadcasting_17;
+       public static String CellBroadcasting_19;
+       public static String CellBroadcasting_2;
+       public static String CellBroadcasting_20;
+       public static String CellBroadcasting_22;
+       public static String CellBroadcasting_24;
+       public static String CellBroadcasting_3;
+       public static String CellBroadcasting_8;
+       public static String CellBroadcasting_9;
+       public static String SMS_0;
+       public static String SMS_1;
+       public static String SMS_10;
+       public static String SMS_11;
+       public static String SMS_12;
+       public static String SMS_13;
+       public static String SMS_14;
+       public static String SMS_15;
+       public static String SMS_16;
+       public static String SMS_17;
+       public static String SMS_18;
+       public static String SMS_19;
+       public static String SMS_2;
+       public static String SMS_20;
+       public static String SMS_21;
+       public static String SMS_23;
+       public static String SMS_24;
+       public static String SMS_25;
+       public static String SMS_26;
+       public static String SMS_27;
+       public static String SMS_28;
+       public static String SMS_29;
+       public static String SMS_3;
+       public static String SMS_35;
+       public static String SMS_37;
+       public static String SMS_38;
+       public static String SMS_4;
+       public static String SMS_5;
+       public static String SMS_6;
+       public static String SMS_7;
+       public static String SMS_8;
+       public static String SMS_9;
+       static {
+               // initialize resource bundle
+               NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+       }
+
+       private Messages() {
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/page/SMS.java b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/page/SMS.java
new file mode 100644 (file)
index 0000000..1625d17
--- /dev/null
@@ -0,0 +1,382 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.sms.page;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+import com.samsung.linuxplatform.injector.protocol.StructureGA;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorItem;
+import com.samsung.linuxplatform.injector.provider.AbstractInjectorPage;
+import com.samsung.linuxplatform.injector.receiver.AbstractInjectorReceiver;
+import com.samsung.linuxplatform.telephony.sms.encription.DecodeMsg;
+import com.samsung.linuxplatform.telephony.sms.encription.EncodeMsg;
+import com.samsung.linuxplatform.telephony.sms.encription.EnumConstants;
+import com.samsung.linuxplatform.telephony.sms.encription.SmsAddressInfo;
+import com.samsung.linuxplatform.telephony.sms.encription.TPDU_SMS_DELIVER;
+import com.samsung.linuxplatform.telephony.sms.encription.TPDU_SMS_SUBMIT;
+import com.samsung.linuxplatform.telephony.sms.encription.TapiNetTextCodingScheme;
+import com.samsung.linuxplatform.telephony.sms.encription.TmDateTime;
+import com.samsung.linuxplatform.telephony.sms.protocol.G04A01;
+import com.samsung.linuxplatform.telephony.sms.protocol.G04A05;
+
+public class SMS extends AbstractInjectorPage {
+
+       public SMS(AbstractInjectorItem item, String name) {
+               super(item, name);
+       }
+
+       private final String[] SENDING_STATUS_VALUE_LIST = { Messages.SMS_0,
+                       Messages.SMS_1, Messages.SMS_2, Messages.SMS_3,
+                       Messages.SMS_4, Messages.SMS_5, Messages.SMS_6,
+                       Messages.SMS_7, Messages.SMS_8, Messages.SMS_9, Messages.SMS_10 };
+       private final String[] USE_SMSC_LIST = { "+821091111" }; //$NON-NLS-1$
+       private final String[] ORIGINATING_ADDRESS_LIST = { "+821030014180" }; //$NON-NLS-1$
+       private final String[] CLASS_TYPE_LIST = { Messages.SMS_11, Messages.SMS_12,
+                       Messages.SMS_15, Messages.SMS_16, Messages.SMS_17 };
+
+       private Combo cmbSentStatusSendingStatus;
+       private Button butSentStatusSet;
+
+       private Combo cmbMobileTerminateUseSMSC,
+                       cmbMobileTerminateOriginatingAddress, cmbMobileTerminateClassType;
+       private Button butMobileTerminateSMSCconfigured, butMobileTerminateSendMsg;
+       private Text txtMobileTerminatePID, txtMobileTerminateDCS,
+                       txtMobileTerminateMessageText;
+       private Label lblMobileTerminateMessageLength,
+                       lblMobileTerminateReceivedMessage;
+
+       protected void createContents() {
+               createSentStatusSection();
+               createMobileTerminateSection();
+       }
+
+       protected void registerReceivers() {
+               registerReceiver(new SimDBReceiver());
+       }
+
+       private void createSentStatusSection() {
+               Composite client = formUtil.createSection(parent, Messages.SMS_18);
+               Composite mainComposite = formUtil.createComposite(client, 3);
+               formUtil.createLabel(mainComposite, Messages.SMS_19);
+
+               cmbSentStatusSendingStatus = formUtil.createCombo(mainComposite);
+               formUtil.addComboItem(cmbSentStatusSendingStatus,
+                               SENDING_STATUS_VALUE_LIST);
+
+               butSentStatusSet = formUtil
+                               .createButton(mainComposite, Messages.SMS_20, SWT.PUSH);
+               butSentStatusSet.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               sendstatus();
+                       }
+               });
+       }
+
+       protected void sendstatus() {
+               int errorcode = get_error_code_from_ui_index(cmbSentStatusSendingStatus
+                               .getSelectionIndex());
+               int data1 = errorcode & 0x00ff;
+               int data2 = (errorcode >> 8) & 0x00ff;
+
+               G04A05 ga = new G04A05();
+               ga.intialize();
+
+               StructureGA sga = ga.getBody();
+               sga.setInt("DATA1", data1); //$NON-NLS-1$
+               sga.setInt("DATA2", data2); //$NON-NLS-1$
+
+               try {
+                       injectorSocket.send(ga);
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+
+       protected int get_error_code_from_ui_index(int index) {
+               if (index <= 17)
+                       return index;
+               switch (index) {
+               case 18:
+                       return 0x8001;
+               case 19:
+                       return 0x8008;
+               case 20:
+                       return 0x800A;
+               case 21:
+                       return 0x8015;
+               case 22:
+                       return 0x8016;
+               case 23:
+                       return 0x801B;
+               case 24:
+                       return 0x801C;
+               case 25:
+                       return 0x801D;
+               case 26:
+                       return 0x801E;
+               case 27:
+                       return 0x8026;
+               case 28:
+                       return 0x8029;
+               case 29:
+                       return 0x802A;
+               case 30:
+                       return 0x802F;
+               case 31:
+                       return 0x8032;
+               case 32:
+                       return 0x8045;
+               case 33:
+                       return 0x8051;
+               case 34:
+                       return 0x8060;
+               case 35:
+                       return 0x8061;
+               case 36:
+                       return 0x8062;
+               case 37:
+                       return 0x8063;
+               case 38:
+                       return 0x806F;
+               case 39:
+                       return 0x807F;
+               case 40:
+                       return 0x8111;
+               case 41:
+                       return 0x8126;
+               case 42:
+                       return 0x812C;
+               default:
+                       return 0x0000;
+               }
+       }
+
+       private void createMobileTerminateSection() {
+               Composite client = formUtil.createSection(parent,
+                               Messages.SMS_23);
+
+               Composite compAddressSelector = formUtil.createExpandable(client,
+                               Messages.SMS_24, 3);
+               formUtil.createLabel(compAddressSelector, Messages.SMS_25);
+               cmbMobileTerminateUseSMSC = formUtil
+                               .createEditableCombo(compAddressSelector);
+               formUtil.addComboItem(cmbMobileTerminateUseSMSC, USE_SMSC_LIST);
+               butMobileTerminateSMSCconfigured = formUtil.createButton(
+                               compAddressSelector, Messages.SMS_26, SWT.CHECK);
+
+               formUtil.createLabel(compAddressSelector,
+                               Messages.SMS_27);
+               cmbMobileTerminateOriginatingAddress = formUtil.createEditableCombo(
+                               compAddressSelector, 2);
+               formUtil.addComboItem(cmbMobileTerminateOriginatingAddress,
+                               ORIGINATING_ADDRESS_LIST);
+
+               formUtil.createLabel(compAddressSelector, Messages.SMS_28);
+               cmbMobileTerminateClassType = formUtil.createCombo(compAddressSelector,
+                               2);
+               formUtil.addComboItem(cmbMobileTerminateClassType, CLASS_TYPE_LIST);
+
+               Composite compUserOption = formUtil.createExpandable(client,
+                               Messages.SMS_29, 4);
+               formUtil.createLabel(compUserOption, "PID : "); //$NON-NLS-1$
+               txtMobileTerminatePID = formUtil.createText(compUserOption, ""); //$NON-NLS-1$
+               formUtil.createLabel(compUserOption, "DCS : "); //$NON-NLS-1$
+               txtMobileTerminateDCS = formUtil.createText(compUserOption, ""); //$NON-NLS-1$
+               txtMobileTerminateDCS.setEnabled(false);
+
+               Composite compUserData = formUtil.createExpandable(client,
+                               Messages.SMS_13);
+               formUtil.createLabel(compUserData, Messages.SMS_35);
+               // lblMobileTerminateMessageLength = formUtil.createLabel(compUserData,
+               // "0");
+               // formUtil.createLabel(compUserData, "/ 140 )");
+               txtMobileTerminateMessageText = formUtil.createText(compUserData, ""); //$NON-NLS-1$
+               txtMobileTerminateMessageText.setTextLimit(140);
+               formUtil.setWidth(txtMobileTerminateMessageText, 400);
+
+               Composite buttonComposite = formUtil.createComposite(client);
+               butMobileTerminateSendMsg = formUtil.createButton(buttonComposite,
+                               Messages.SMS_37, SWT.PUSH);
+               butMobileTerminateSendMsg.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               sendMsg();
+                       }
+               });
+
+               Composite compReceivedMessage = formUtil.createExpandable(client,
+                               Messages.SMS_38);
+               lblMobileTerminateReceivedMessage = formUtil.createLabel(
+                               compReceivedMessage, ""); //$NON-NLS-1$
+               formUtil.setWidth(lblMobileTerminateReceivedMessage, 350);
+
+       }
+
+       protected void sendMsg() {
+               char[] packet = new char[500];
+               int pid = 0;
+               int dcs = 0xF0;
+
+               EncodeMsg encode = new EncodeMsg();
+
+               SmsAddressInfo SCA = new SmsAddressInfo();
+               SCA.npi = 1;
+               SCA.ton = 1;
+               SCA.diallingNum = String.format(cmbMobileTerminateUseSMSC.getText())
+                               .toCharArray();
+               SCA.dialnumlen = SCA.diallingNum.length;
+
+               Date currentDate = new Date();
+
+               SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy"); //$NON-NLS-1$
+               String year = dateFormat.format(currentDate);
+               dateFormat = new SimpleDateFormat("MM"); //$NON-NLS-1$
+               String month = dateFormat.format(currentDate);
+               dateFormat = new SimpleDateFormat("dd"); //$NON-NLS-1$
+               String day = dateFormat.format(currentDate);
+               dateFormat = new SimpleDateFormat("HH"); //$NON-NLS-1$
+               String hour = dateFormat.format(currentDate);
+               dateFormat = new SimpleDateFormat("mm"); //$NON-NLS-1$
+               String minute = dateFormat.format(currentDate);
+               dateFormat = new SimpleDateFormat("ss"); //$NON-NLS-1$
+               String second = dateFormat.format(currentDate);
+               
+               TmDateTime tm = new TmDateTime();
+               tm.year = Integer.parseInt(year.trim());
+               tm.month = Integer.parseInt(month.trim());
+               tm.day = Integer.parseInt(day.trim());
+               tm.hour = Integer.parseInt(hour.trim());
+               tm.minute = Integer.parseInt(minute.trim());
+               tm.second = Integer.parseInt(second.trim());
+
+               TapiNetTextCodingScheme scheme = new TapiNetTextCodingScheme();
+               scheme.bCompressed = false;
+               scheme.bMsgClassSet = false;
+               scheme.bMsgIndActive = false;
+               scheme.codingGroupType = EnumConstants.TAPI_NETTEXT_CODGRP_SM_GENERAL_DCS;
+               scheme.waitingType = EnumConstants.TAPI_NETTEXT_WAITING_VOICE_MSG;
+               scheme.alphabetType = EnumConstants.TAPI_NETTEXT_ALPHABET_DEFAULT;
+               scheme.classType = cmbMobileTerminateClassType.getSelectionIndex();
+               scheme.codingGroup = 0;
+               scheme.code = 0;
+
+               TPDU_SMS_DELIVER tpdu_deliver = new TPDU_SMS_DELIVER();
+               tpdu_deliver.msgType = 0;
+               tpdu_deliver.mms = false;
+               tpdu_deliver.rp = false;
+               tpdu_deliver.udhi = false;
+               tpdu_deliver.sri = false;
+
+               SmsAddressInfo orgAddr = new SmsAddressInfo();
+               orgAddr.npi = 1;
+               orgAddr.ton = 1;
+               orgAddr.diallingNum = String.format(
+                               cmbMobileTerminateOriginatingAddress.getText()).toCharArray();
+               orgAddr.dialnumlen = orgAddr.diallingNum.length;
+
+               tpdu_deliver.orgAddr = orgAddr;
+               tpdu_deliver.pId = 0;
+               tpdu_deliver.scts = tm;
+               tpdu_deliver.dcs = scheme;
+               tpdu_deliver.udl = 0;
+               tpdu_deliver.userData = String.format(
+                               txtMobileTerminateMessageText.getText()).toCharArray();
+
+               int packet_len = encode.EncodeSmsDeliverTpdu(SCA, tpdu_deliver, packet,
+                               pid, dcs);
+               final byte[] data = convertToByte(packet, packet_len);
+
+               G04A01 ga = new G04A01() {
+                       protected void makeBody() {
+                               StructureGA ga = getBody();
+                               ga.addByteArrayItem("DATA", data.length); //$NON-NLS-1$
+                       }
+               };
+               ga.intialize();
+
+               StructureGA sga = ga.getBody();
+               sga.setByteArray("DATA", data); //$NON-NLS-1$
+
+               try {
+                       injectorSocket.send(ga);
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+
+       private byte[] convertToByte(char[] buf, int length) {
+               byte[] result = new byte[length];
+               for (int i = 0; i < length; i++) {
+                       result[i] = (byte) buf[i];
+               }
+               return result;
+       }
+
+       public class SimDBReceiver extends AbstractInjectorReceiver {
+               @Override
+               public void run(AbstractGA aga) {
+                       StructureGA sga = aga.getBody();
+
+                       TPDU_SMS_SUBMIT tpdu_submit = new TPDU_SMS_SUBMIT();
+                       byte[] buf = sga.getByteArray("DATA"); //$NON-NLS-1$
+                       char[] rawdata = convertToChar(buf, 3, buf.length - 3); // new
+                                                                                                                                       // change
+                                                                                                                                       // May 6
+
+                       // System.out.println();
+                       // for(int i = 0; i <rawdata.length; i++ ) {
+                       // System.out.print("[0x" + Integer.toHexString(rawdata[i]) + "]");
+                       // if(i%10 == 9)
+                       // System.out.println();
+                       // }
+                       DecodeMsg decode = new DecodeMsg();
+                       decode.DecodeSmsSubmitTpdu(tpdu_submit, 500, rawdata);
+
+                       // char[] data = tpdu_submit.userData;
+                       // for(int i = 0; i <data.length; i++ ) {
+                       // System.out.print("[0x" + Integer.toHexString(data[i]) + "]");
+                       // if(i%10 == 9)
+                       // System.out.println();
+                       // }
+                       String str = Messages.SMS_21
+                                       + String.valueOf(tpdu_submit.destAddr.diallingNum).trim()
+                                       + Messages.SMS_14
+                                       + String.valueOf(tpdu_submit.userData).trim();
+
+                       lblMobileTerminateReceivedMessage.setText(str);
+               }
+
+               @Override
+               public AbstractGA createTransferObject() {
+                       return new G04A01();
+               }
+       }
+
+       private char[] convertToChar(byte[] buf, int start, int length) {
+               char[] result = new char[length];
+               int idx = 0;
+               for (int i = 0; i < buf.length; i++) {
+                       if (i >= start) {
+                               result[idx++] = (char) buf[i];
+                               if (idx >= length)
+                                       break;
+                       }
+               }
+               return result;
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/page/messages.properties b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/page/messages.properties
new file mode 100644 (file)
index 0000000..37a8198
--- /dev/null
@@ -0,0 +1,48 @@
+CellBroadcasting_0=Weather
+CellBroadcasting_1=Sports
+CellBroadcasting_10=Message Identified : 
+CellBroadcasting_12=Language
+CellBroadcasting_13=DCS : 
+CellBroadcasting_15=Serial Number
+CellBroadcasting_16=Geographical : 
+CellBroadcasting_17=Update Number : 
+CellBroadcasting_19=Page Number
+CellBroadcasting_2=English
+CellBroadcasting_20=Page Number : 
+CellBroadcasting_22=Message
+CellBroadcasting_24=Send
+CellBroadcasting_3=Korean
+CellBroadcasting_8=Cell BroadCasting
+CellBroadcasting_9=Channel ID
+SMS_0=SMS OK(Success)
+SMS_1=Routing Released
+SMS_10=Sim Not Ready
+SMS_11=Class type 0
+SMS_12=Class type 1
+SMS_13=User Data(TP-DCS)
+SMS_14=\ [Message] 
+SMS_15=Class type 2
+SMS_16=Class type 3
+SMS_17=User Defined
+SMS_18=Sent Status
+SMS_19=Sending Status Value : 
+SMS_2=Routing Not Available
+SMS_20=Set
+SMS_21=[To] 
+SMS_23=Mobile Terminate(MT) - Send Message to Target/Host
+SMS_24=Address Selector
+SMS_25=Use SMSC : 
+SMS_26=SMSC is configured in MS
+SMS_27=Originating Address(TP-OA) : 
+SMS_28=Class Type : 
+SMS_29=User Option
+SMS_3=Rout Not Allowed
+SMS_35=Message Text 
+SMS_37=Send Msg
+SMS_38=Received Message
+SMS_4=Invalid Parameter
+SMS_5=Device Failure
+SMS_6=Pp Reserved
+SMS_7=Service Reserved
+SMS_8=Invalid Location
+SMS_9=No SIM
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/protocol/G04A01.java b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/protocol/G04A01.java
new file mode 100644 (file)
index 0000000..d26d9d3
--- /dev/null
@@ -0,0 +1,26 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.sms.protocol;
+
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+import com.samsung.linuxplatform.injector.protocol.StructureGA;
+
+public class G04A01 extends AbstractGA{
+
+       public G04A01(){
+               super(0x04, 0x01);
+       }
+
+       @Override
+       protected void makeBody() {
+               StructureGA ga = getBody();
+               ga.addByteArrayItem("DATA",500); //$NON-NLS-1$
+       }
+
+       @Override
+       protected void makeHeader() {
+       }
+}
diff --git a/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/protocol/G04A05.java b/com.samsung.linuxplatform.telephony.sms/src/com/samsung/linuxplatform/telephony/sms/protocol/G04A05.java
new file mode 100644 (file)
index 0000000..4bb3f89
--- /dev/null
@@ -0,0 +1,26 @@
+/****************************************************************************************
+ * Copyright (c) 2010 Samsung Electronics Co.
+ * For conditions of distribution and use, see http://www.eclipse.org/legal/epl-v10.html
+ ****************************************************************************************/
+
+package com.samsung.linuxplatform.telephony.sms.protocol;
+
+import com.samsung.linuxplatform.injector.protocol.AbstractGA;
+import com.samsung.linuxplatform.injector.protocol.StructureGA;
+
+public class G04A05 extends AbstractGA{
+       public G04A05(){
+               super(0x04, 0x05);
+       }
+
+       @Override
+       protected void makeBody() {
+               StructureGA ga = getBody();
+               ga.addByteItem("DATA1"); //$NON-NLS-1$
+               ga.addByteItem("DATA2"); //$NON-NLS-1$
+       }
+
+       @Override
+       protected void makeHeader() {
+       }
+}
\ No newline at end of file
diff --git a/tmp b/tmp
deleted file mode 100644 (file)
index e69de29..0000000