package com.kurento.tool.rom.client; import java.lang.reflect.Type; import com.kurento.kmf.jsonrpcconnector.Props; import com.kurento.kmf.media.Continuation; public abstract class RomClient { // Sync methods -------------------------------------- public abstract String create(String remoteClassName, Props constructorParams); public abstract <E> E invoke(String objectRef, String methodName, Props params, Class<E> clazz); public abstract Object invoke(String objectRef, String operationName, Props operationParams, Type type); public abstract void release(String objectRef); public abstract String subscribe(String objectRef, String eventType); // Async methods -------------------------------------- public abstract String create(String remoteClassName, Props constructorParams, Continuation<String> cont); public abstract Object invoke(String objectRef, String operationName, Props operationParams, Type type, Continuation<?> cont); public abstract void release(String objectRef, Continuation<Void> cont); public abstract String subscribe(String objectRef, String type, Continuation<String> cont); // Other methods -------------------------------------- public abstract void addRomEventHandler(RomEventHandler eventHandler); public abstract void destroy(); }