package com.kedzie.vbox.metrics;
import java.util.Map;
import android.content.Context;
import android.util.Log;
import com.kedzie.vbox.app.LoopingThread;
import com.kedzie.vbox.soap.VBoxSvc;
public class DataThread extends LoopingThread {
private static final String TAG = "MetricDataThread";
private VBoxSvc _vmgr;
private MetricView []_views;
private String _object;
private int _period;
public DataThread(Context context, VBoxSvc vmgr, String object, int period, MetricView...views){
super("Metric Data");
_vmgr=vmgr;
_object=object;
_period=period;
_views=views;
}
@Override
public void loop() {
try {
Map<String, MetricQuery> data = _vmgr.queryMetrics(_object, "*:");
for(MetricView v : _views)
if(v!=null) v.setQueries(data);
} catch (Exception e) {
Log.e(TAG, "Error querying metrics", e);
} finally {
try { Thread.sleep(_period*1000); } catch (InterruptedException e) {
_running=false;
}
}
}
}