package com.akjava.gwt.lib.hangouts.client.data;
import java.util.List;
import java.util.Map;
import com.akjava.gwt.lib.hangouts.client.StringMap;
import com.google.gwt.core.client.JsArrayString;
public class Data {
public static final native void clearValue(String key) /*-{
$wnd.gapi.hangout.data.clearValue(key);
}-*/;
public static final native JsArrayString getKeys() /*-{
return $wnd.gapi.hangout.data.getKeys();
}-*/;
public static final native String getValue(String key) /*-{
return $wnd.gapi.hangout.data.getValue(key);
}-*/;
public static final native StringMap getState() /*-{
return $wnd.gapi.hangout.data.getState()
}-*/;
public static final native StateMetadataMap getStateMetadata() /*-{
return $wnd.gapi.hangout.data.getStateMetadata();
}-*/;
public static final native void setValue(String key,String value) /*-{
return $wnd.gapi.hangout.data.setValue(key,value);
}-*/;
public static final native void sendMessage(String message) /*-{
$wnd.gapi.hangout.data.sendMessage(message);
}-*/;
public static final native void submitDelta(StringMap updates) /*-{
$wnd.gapi.hangout.data.submitDelta(updates);
}-*/;
public static final native void submitDelta(StringMap updates,JsArrayString removes) /*-{
$wnd.gapi.hangout.data.submitDelta(updates,removes);
}-*/;
public static final void submitDelta(Map<String,String> add,List<String> removesList){
StringMap updates=(StringMap) StringMap.createObject();
for(String key:add.keySet()){
updates.put(key, add.get(key));
}
JsArrayString removes=null;
if(removesList!=null){
removes=createArray();
for(String key:removesList){
removes.push(key);
}
}
submitDelta(updates, removes);
}
public static native JsArrayString createArray()/*-{return $wnd.eval("new Array()");}-*/;
}