/******************************************************************************* * Copyright (c) 2013 Xilinx, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Xilinx - initial API and implementation *******************************************************************************/ package org.eclipse.tcf.services; import java.util.Map; import org.eclipse.tcf.protocol.IService; import org.eclipse.tcf.protocol.IToken; /** * DPrintf service provides access to "dynamic printf" output stream that is generated by invocations of * '$printf' function on the remote target. '$printf' is usually used as a breakpoint action. * * @noimplement This interface is not intended to be implemented by clients. */ public interface IDPrintf extends IService { /** * Service name. */ static final String NAME = "DPrintf"; /** * Open "dynamic printf" stream and get ID of the stream. * The service maintains one such stream per client. * The stream is managed by Streams service. * @param properties - optional stream properties. * @param done - command result call back object. * @return - pending command handle. */ IToken open(Map<String,Object>[] properties, DoneCommandOpen done); interface DoneCommandOpen { void doneCommandOpen(IToken token, Exception error, String id); } /** * Close "dynamic printf" stream. * Further '$printf' output will be discarded. * @param done - command result call back object. * @return - pending command handle. */ IToken close(DoneCommandClose done); interface DoneCommandClose { void doneCommandClose(IToken token, Exception error); } }