/* * Copyright (c) 2012 Google Inc. * * 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 */ package com.google.eclipse.protobuf.cdt.mapping; import org.eclipse.cdt.core.dom.ast.IBinding; /** * Derives a <code>{@link CppToProtobufMapping}</code> from the C++ element whose name is described by the given * {@code IBinding}. * @param <T> the type of {@code IBinding} supported. * * @author alruiz@google.com (Alex Ruiz) */ interface IBindingMappingStrategy<T extends IBinding> { CppToProtobufMapping createMappingFrom(IBinding binding); Class<T> typeOfSupportedBinding(); }