/*******************************************************************************
 * Copyright (c) 2011 Tasktop Technologies.
 * 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:
 *     Tasktop Technologies - initial API and implementation
 *******************************************************************************/
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_eclipse_mylyn_internal_sandbox_search_ui_windows_WindowsSearchProvider */

#ifndef _Included_org_eclipse_mylyn_internal_sandbox_search_ui_windows_WindowsSearchProvider
#define _Included_org_eclipse_mylyn_internal_sandbox_search_ui_windows_WindowsSearchProvider
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     org_eclipse_mylyn_internal_sandbox_search_ui_WindowsSearchProvider
 * Method:    performNativeSearch
 * Signature: (Lorg/eclipse/mylyn/sandbox/search/ui/SearchCriteria;Lorg/eclipse/mylyn/sandbox/search/ui/SearchCallback;Lorg/eclipse/core/runtime/IProgressMonitor)V
 */
JNIEXPORT void JNICALL Java_org_eclipse_mylyn_internal_sandbox_search_ui_windows_WindowsSearchProvider_performNativeSearch
  (JNIEnv *, jobject, jobject, jobject, jobject);

#ifdef __cplusplus
}
#endif

#endif
