package org.erlide.engine.internal.services.proclist;
import org.erlide.engine.services.proclist.ProclistService;
import org.erlide.runtime.rpc.IOtpRpc;
import org.erlide.util.ErlLogger;
import com.ericsson.otp.erlang.OtpErlangAtom;
import com.ericsson.otp.erlang.OtpErlangList;
import com.ericsson.otp.erlang.OtpErlangObject;
import com.ericsson.otp.erlang.OtpErlangPid;
public class ErlideProclist implements ProclistService {
public static final String MODULE_NAME = "erlide_proclist";
@Override
public void processListInit(final IOtpRpc b) {
if (b == null) {
return;
}
try {
b.call(MODULE_NAME, "process_list_init", "");
} catch (final Exception e) {
ErlLogger.debug(e);
}
}
@Override
public OtpErlangList getProcessList(final IOtpRpc b) {
if (b == null) {
return new OtpErlangList();
}
try {
final OtpErlangObject result = b.call(MODULE_NAME, "process_list", "");
return (OtpErlangList) result;
} catch (final Exception e) {
ErlLogger.warn(e);
}
return new OtpErlangList();
}
@Override
public OtpErlangObject getProcessInfo(final IOtpRpc b, final OtpErlangPid pid) {
if (b == null) {
return new OtpErlangAtom("error");
}
try {
return b.call(MODULE_NAME, "get_process_info", "p", pid);
} catch (final Exception e) {
ErlLogger.warn(e);
}
return new OtpErlangAtom("error");
}
}