@Override public IPCVoid createFromParcel(Parcel in) { return new IPCVoid(); }
@Override public IPCInteger createFromParcel(Parcel in) { IPCInteger o = new IPCInteger(); o.value = in.readInt(); return o; }
@Override public IPCBoolean createFromParcel(Parcel in) { IPCBoolean o = new IPCBoolean(); o.value = in.readInt() == 1; return o; }
@Override public IPCString createFromParcel(Parcel in) { IPCString o = new IPCString(); o.value = in.readString(); return o; }
@Override public IPCLong createFromParcel(Parcel in) { IPCLong o = new IPCLong(); o.value = in.readLong(); return o; }
@Override public IPCByte createFromParcel(Parcel in) { IPCByte o = new IPCByte(); o.value = in.readByte(); return o; }
@Override public IPCDouble createFromParcel(Parcel in) { IPCDouble o = new IPCDouble(); o.value = in.readDouble(); return o; }
@Override public IPCFloat createFromParcel(Parcel in) { IPCFloat o = new IPCFloat(); o.value = in.readFloat(); return o; }
@Override public void invoke(TestType data, IPCInvokeCallback<IPCString> callback) { callback.onCallback(new IPCString(data.key + ":" + data.value)); } }
public static void invokeAsync() { IPCLong data = new IPCLong(System.nanoTime()); IPCInvoker.invokeAsync(PushProcessIPCService.PROCESS_NAME, data, IPCRemoteInvoke_PrintSomething.class, new IPCInvokeCallback<IPCString>() { @Override public void onCallback(IPCString data) { Log.i(TAG, "onCallback : %s", data.value); } }); } private static class IPCRemoteInvoke_PrintSomething implements IPCAsyncInvokeTask<IPCLong, IPCString> {
@Override public IPCInteger invoke(TestType data) { return new IPCInteger((data.key + data.value + System.currentTimeMillis()).hashCode()); } }
@Override public void run() { callback.onCallback(new IPCBoolean(false)); } }, 2000);
@Override public void invoke(TestType data, IPCInvokeCallback<IPCString> callback) { callback.onCallback(new IPCString(data.key + ":" + data.value + ", count : " + (count++))); } }
public static void invokeSync() { IPCString result = IPCInvoker.invokeSync(PushProcessIPCService.PROCESS_NAME, new IPCLong(System.nanoTime()), IPCRemoteInvoke_BuildString.class); Log.i(TAG, "invoke result : %s", result); } private static class IPCRemoteInvoke_BuildString implements IPCSyncInvokeTask<IPCLong, IPCString> {
@Override public IPCString invoke(IPCLong data) { String msg = String.format("data:%s|curPid:%s", data, android.os.Process.myPid()); Log.i(TAG, "build String : %s", msg); return new IPCString(msg); } }
@Override public void invoke(IPCLong data, IPCInvokeCallback<IPCString> callback) { String result = String.format("data:%s|curPid:%s", data, android.os.Process.myPid()); callback.onCallback(new IPCString(result)); } }
@Override public IPCString invoke(Bundle data) { String msg = String.format("name:%s|fromPid:%s|curPid:%s", data.getString("name"), data.getInt("pid"), android.os.Process.myPid()); Log.i(TAG, "build String : %s", msg); return new IPCString(msg); } }
@Override public void invoke(Bundle data, IPCInvokeCallback<IPCString> callback) { String result = String.format("name:%s|fromPid:%s|curPid:%s", data.getString("name"), data.getInt("pid"), android.os.Process.myPid()); callback.onCallback(new IPCString(result)); } }
@Override public void invoke(Bundle data, IPCInvokeCallback<Bundle> callback) { XIPCDispatcherImpl dispatcher = new XIPCDispatcherImpl(); IPCString event = new IPCString(); event.value = String.format("current process name : %s, task : %s, pid : %s, time : %s", IPCInvokeLogic.getCurrentProcessName(), hashCode(), android.os.Process.myPid(), System.currentTimeMillis()); dispatcher.dispatch(event); Log.i(TAG, "publish event(%s)", event.value); } }
public static void invokeAsync() { IPCTask.create("cc.suitalk.ipcinvoker.sample:push") .timeout(10) .async(AsyncInvokeTask.class) .data(new IPCString("test invokeAsync")) .defaultResult(false) .callback(new IPCInvokeCallback<Boolean>() { @Override public void onCallback(Boolean data) { Log.i(TAG, "invokeAsync result : %s", data); } }).invoke(); }