/*
* $Id: //guest/paul_krause/perforce/api/p4jni/jnic.h#2 $
* Author: Paul Krause <pkrause@soundbite.com>
* Copyright 2001 SoundBite Communications Corp
* All Rights Reserved (for now)
*/
#include <clientapi.h>
class JniClientUser : public ClientUser {
JNIEnv *jEnv;
public:
JniClientUser(JNIEnv *env) : jEnv(env) {};
JniClientUser() {};
JniClientUser(const JniClientUser &ignore) {};
void HandleError (Error *err);
void RunCmd(const char *command, const char *arg1, const char *arg2, const char *arg3, const char *arg4, const char *pager, Error *e );
~JniClientUser() {};
};
class JniClient {
ClientApi *p4Api;
JNIEnv *jEnv;
JniClientUser jUi;
Error errHandle;
public:
JniClient (JNIEnv *env) : jEnv(env), jUi(env) {};
JniClient () {};
JniClient (const JniClient &ignore) {};
void P4Cmd (jbyteArray jcmd, jobjectArray jargs);
jstring P4Change ();
void P4Connect (jobject props);
void P4Close ();
~JniClient () {};
protected:
void ThrowOutOfMemory() {
jEnv->FatalError("Out of memory");
abort(); // NOT REACHED
};
};