/*******************************************************************************
 * Copyright (c) 2005, 2009 Intel Corporation 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:
 *    Guru Nagarajan,Intel - Initial API and implementation
 *
 * $Id: BaseAgentJNI.h,v 1.10 2009/09/10 21:17:40 jcayne Exp $ 
 *******************************************************************************/
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_eclipse_tptp_platform_execution_datacollection_BaseAgent */

#ifndef _Included_org_eclipse_tptp_platform_execution_datacollection_BaseAgent
#define _Included_org_eclipse_tptp_platform_execution_datacollection_BaseAgent
#ifdef __cplusplus
extern "C" {
#endif
/* Inaccessible static: nativesAvailable */
/* Inaccessible static: serviceAvailable */
/* Inaccessible static: agentCount */
/*
 * Class:     org_eclipse_tptp_platform_execution_datacollection_BaseAgent
 * Method:    initializeEngine0
 * Signature: (Ljava/lang/String;)V
 */
JNIEXPORT jint JNICALL Java_org_eclipse_tptp_platform_execution_datacollection_BaseAgent_initializeEngine0
  (JNIEnv *, jobject, jstring);

/*
 * Class:     org_eclipse_tptp_platform_execution_datacollection_BaseAgent
 * Method:    register0
 * Signature: (Ljava/lang/String;)I
 */
JNIEXPORT jint JNICALL Java_org_eclipse_tptp_platform_execution_datacollection_BaseAgent_register0
  (JNIEnv *, jobject, jstring);

/*
 * Class:     org_eclipse_tptp_platform_execution_datacollection_BaseAgent
 * Method:    setProcessID0
 * Signature: (J)V
 */
JNIEXPORT void JNICALL Java_org_eclipse_tptp_platform_execution_datacollection_BaseAgent_setProcessID0
  (JNIEnv *, jobject, jlong);

/*
 * Class:     org_eclipse_tptp_platform_execution_datacollection_BaseAgent
 * Method:    deregister0
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_org_eclipse_tptp_platform_execution_datacollection_BaseAgent_deregister0
  (JNIEnv *, jobject);

/*
 * Class:     org_eclipse_tptp_platform_execution_datacollection_BaseAgent
 * Method:    getAgentID0
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_org_eclipse_tptp_platform_execution_datacollection_BaseAgent_getAgentID0
  (JNIEnv *, jobject);

/*
 * Class:     org_eclipse_tptp_platform_execution_datacollection_BaseAgent
 * Method:    sendData0
 * Signature: (I[CI)I
 */
JNIEXPORT jint JNICALL Java_org_eclipse_tptp_platform_execution_datacollection_BaseAgent_sendData0
  (JNIEnv *, jobject, jint, jcharArray, jint);

/*
 * Class:     org_eclipse_tptp_platform_execution_datacollection_BaseAgent
 * Method:    sendData1
 * Signature: (I[BII)I
 */
JNIEXPORT jint JNICALL Java_org_eclipse_tptp_platform_execution_datacollection_BaseAgent_sendData1
  (JNIEnv *, jobject, jint, jbyteArray, jint, jint);

/*
 * Class:     org_eclipse_tptp_platform_execution_datacollection_BaseAgent
 * Method:    sendCommand0
 * Signature: (Ljava/lang/String;)I
 */
JNIEXPORT jint JNICALL Java_org_eclipse_tptp_platform_execution_datacollection_BaseAgent_sendCommand0
  (JNIEnv *, jobject, jstring);

/*
 * Class:     org_eclipse_tptp_platform_execution_datacollection_BaseAgent
 * Method:    processCommand0
 * Signature: (Lorg/eclipse/tptp/platform/execution/util/ICommandFragment;)I
 */
JNIEXPORT jint JNICALL Java_org_eclipse_tptp_platform_execution_datacollection_BaseAgent_processCommand0
  (JNIEnv *, jobject, jobject);

/*
 * Class:     org_eclipse_tptp_platform_execution_datacollection_BaseAgent
 * Method:    removeClient0
 * Signature: (I)V
 */
JNIEXPORT void JNICALL Java_org_eclipse_tptp_platform_execution_datacollection_BaseAgent_removeClient0
  (JNIEnv *, jobject, jint);

/*
 * Class:     org_eclipse_tptp_platform_execution_datacollection_BaseAgent
 * Method:    removeEventListener0
 * Signature: (Ljava/lang/String;III)I
 */
JNIEXPORT jint JNICALL Java_org_eclipse_tptp_platform_execution_datacollection_BaseAgent_removeEventListener0
  (JNIEnv *, jobject, jstring, jint, jint, jint);

/*
 * Class:     org_eclipse_tptp_platform_execution_datacollection_BaseAgent
 * Method:    sendEventNotifications0
 * Signature: (Lorg/eclipse/tptp/platform/execution/util/ICommandFragment;)V
 */
JNIEXPORT jint JNICALL Java_org_eclipse_tptp_platform_execution_datacollection_BaseAgent_sendEventNotifications0
  (JNIEnv *, jobject, jobject);

/*
 * Class:     org_eclipse_tptp_platform_execution_datacollection_BaseAgent
 * Method:    addEventListener0
 * Signature: (Ljava/lang/String;III)I
 */
JNIEXPORT jint JNICALL Java_org_eclipse_tptp_platform_execution_datacollection_BaseAgent_addEventListener0
  (JNIEnv *, jobject, jstring, jint, jint, jint);

/*
 * Class:     org_eclipse_tptp_platform_execution_datacollection_BaseAgent
 * Method:    receiveData0
 * Signature: (I[CI)I
 */
JNIEXPORT jint JNICALL Java_org_eclipse_tptp_platform_execution_datacollection_BaseAgent_receiveData0
  (JNIEnv *, jobject, jint, jcharArray, jint);
int receiveDataCallBk(int sourceID, char buffer[], int bytesRead, DIME_HEADER_PTR_T dimeHeader);
int processCommandCallBk(CmdBlock *command);
/*
 * Callback
 */
void waitForTerminationCallBk();

void addClientCallBk(int clientID, int accessLevel);

int processEventProviderCommandsCallBk(CmdBlock* cmd);

int processDataProviderCommandsCallBk(CmdBlock* cmd);

int removeClientCallBk(int clientID);
//char* getServiceConfigFileCallBk();

JNIEXPORT void JNICALL Java_org_eclipse_tptp_platform_execution_datacollection_BaseAgent_processCommandLine0
  (JNIEnv *, jobject, jobjectArray);

#ifdef __cplusplus
}
#endif
#endif
