package com.mogujie.tt.conn;
import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import android.os.Handler;
import android.os.Message;
public class NetStateDispach {
private static NetStateDispach pInstance = null;
private Map<String, Handler> hmHandler = new ConcurrentHashMap<String, Handler>();
public static NetStateDispach getInstance() {
if (null == pInstance)
{
pInstance = new NetStateDispach();
}
return pInstance;
}
public void register(Class<?> key, Handler handler)
{
hmHandler.put(key.getName(), handler);
}
public void unregister(Class<?> key) {
hmHandler.remove(key.getName());
}
@SuppressWarnings("rawtypes")
public void dispachMsg(int eventId) {
Message message = null;
Iterator iter = hmHandler.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Handler handler = (Handler) entry.getValue();
message = handler.obtainMessage();
message.what = eventId;
message.obj = null;
handler.sendMessage(message);
}
}
}