View Javadoc

1   /**
2    *  BlueCove - Java library for Bluetooth
3    *  Copyright (C) 2008 Michael Lifshits
4    *  Copyright (C) 2008 Vlad Skarzhevskyy
5    *
6    *  Licensed to the Apache Software Foundation (ASF) under one
7    *  or more contributor license agreements.  See the NOTICE file
8    *  distributed with this work for additional information
9    *  regarding copyright ownership.  The ASF licenses this file
10   *  to you under the Apache License, Version 2.0 (the
11   *  "License"); you may not use this file except in compliance
12   *  with the License.  You may obtain a copy of the License at
13   *
14   *    http://www.apache.org/licenses/LICENSE-2.0
15   *
16   *  Unless required by applicable law or agreed to in writing,
17   *  software distributed under the License is distributed on an
18   *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19   *  KIND, either express or implied.  See the License for the
20   *  specific language governing permissions and limitations
21   *  under the License.
22   *
23   *  @author vlads
24   *  @version $Id: MonitoringServiceImpl.java 2600 2008-12-16 22:22:43Z skarzhevskyy $
25   */
26  package com.intel.bluetooth.emu;
27  
28  import java.util.List;
29  import java.util.Map;
30  import java.util.Vector;
31  import java.util.WeakHashMap;
32  
33  /**
34   * 
35   */
36  public class MonitoringServiceImpl implements MonitoringService {
37  
38  	private static Map<MonitorConnection, Object> connections = new WeakHashMap<MonitorConnection, Object>();
39  
40  	private static Map<MonitorService, Object> servicess = new WeakHashMap<MonitorService, Object>();
41  
42  	static void registerService(MonitorService monitorService) {
43  		servicess.put(monitorService, null);
44  	}
45  
46  	static void registerConnection(MonitorConnection monitorConnection) {
47  		connections.put(monitorConnection, null);
48  	}
49  
50  	public List<MonitorDevice> getDevices() {
51  		return DeviceManagerServiceImpl.getMonitorDevices();
52  	}
53  
54  	public List<MonitorService> getServices() {
55  		List<MonitorService> r = new Vector<MonitorService>();
56  		r.addAll(servicess.keySet());
57  		return r;
58  	}
59  
60  	public List<MonitorConnection> getConnections() {
61  		List<MonitorConnection> r = new Vector<MonitorConnection>();
62  		r.addAll(connections.keySet());
63  		return r;
64  	}
65  
66  	public void setDevicePower(long address, boolean on) {
67  		Device d = DeviceManagerServiceImpl.getDevice(address);
68  		if (d != null) {
69  			d.setDevicePower(on);
70  		}
71  	}
72  
73  	public void setDeviceDiscoverable(long address, int mode) {
74  		Device d = DeviceManagerServiceImpl.getDevice(address);
75  		if (d != null) {
76  			d.getDescriptor().setDiscoverableMode(mode);
77  		}
78  	}
79  
80  	public void createThreadDumpFile(long address) {
81  		Device d = DeviceManagerServiceImpl.getDevice(address);
82  		if (d != null) {
83  			d.putCommand(new DeviceCommand(DeviceCommand.DeviceCommandType.createThreadDumpFile));
84  		}
85  	}
86  
87  	public void shutdownJVM(long address) {
88  		Device d = DeviceManagerServiceImpl.getDevice(address);
89  		if (d != null) {
90  			d.putCommand(new DeviceCommand(DeviceCommand.DeviceCommandType.shutdownJVM));
91  		}
92  	}
93  
94  	public void connectionDellayDelivery(long address, long connectionId, int msecDelay) {
95  		// TODO
96  	}
97  
98  	public void connectionBreak(long address, long connectionId) {
99  		// TODO
100 	}
101 
102 }