--- /dev/null
+package org.opendaylight.yangtools.concepts;
+
+/**
+ * Implementation of this interface delegates all it's calls
+ * to the delegator if not specified otherwise.
+ *
+ *
+ * @param <T> Type of delegate
+ */
+public interface Delegator<T> {
+
+ T getDelegate();
+
+}
--- /dev/null
+/*\r
+ * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+package org.opendaylight.yangtools.yang.binding;\r
+\r
+import java.util.Set;\r
+import java.util.concurrent.Future;\r
+\r
+import org.opendaylight.yangtools.yang.common.QName;\r
+import org.opendaylight.yangtools.yang.common.RpcResult;\r
+\r
+public interface RpcImplementation {\r
+\r
+ // Fixme: Change to RpcInput\r
+ Set<Class<? extends DataContainer>> getSupportedInputs();\r
+\r
+ // Fixme: Change to RpcInput\r
+ <T extends DataContainer> Future<RpcResult<?>> invoke(Class<T> type, T input);\r
+}\r
--- /dev/null
+/*\r
+ * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+package org.opendaylight.yangtools.yang.binding;\r
+\r
+public interface RpcInput extends DataContainer {\r
+\r
+}\r