2 * Copyright (c) 2022 PANTHEON.tech, s.r.o. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.netconf.sal.connect.api;
10 import org.opendaylight.netconf.api.NetconfMessage;
11 import org.opendaylight.yangtools.yang.common.QName;
12 import org.opendaylight.yangtools.yang.common.RpcResult;
15 * Interface for transforming NETCONF device RPC request/response messages.
17 * @param <P> {@code rpc} input payload type
18 * @param <R> {@code rpc} result type
20 public interface RpcTransformer<P, R> {
22 NetconfMessage toRpcRequest(QName rpc, P payload);
24 R toRpcResult(RpcResult<NetconfMessage> resultPayload, QName rpc);