title: Can I mix JNI headers implementation with normal C++ classes?
body: <p>If I try to implement my class on this file I get an error UnsatisfiedLinkError, however if I remove the implementation of the Broker.h Class it goes ok. Why?</p>
  
  <p>Broker.h</p>
  
  <pre><code>#include "XletTable.h"
  
  #ifndef BROKER_H_
  #define BROKER_H_
  
  class Broker {
  private:
      static Broker* brokerSingleton;
      static XletTable *table;
  
      // Private constructor for singleton
      Broker(JNIEnv *, XletTable *);
  
      // Get XletTable (Hash Table) that contains the...
      static XletTable* getTable();
  
  public:
      virtual ~Broker();
      static Broker* getInstance(JNIEnv *);
      jobject callMethod(JNIEnv *, jclass, jstring, jobject, jbyteArray);
  };
  
  #endif /* BROKER_H_ */
  </code></pre>
  
  <p>BrokerJNI.h</p>
  
  <pre><code>/* DO NOT EDIT THIS FILE - it is machine generated */
  #include &lt;jni.h&gt;
  /* Header for class Broker */
  
  #ifndef _Included_Broker
  #define _Included_Broker
  #ifdef __cplusplus
  extern "C" {
  #endif
  /*
   * Class:     Broker
   * Method:    callMethod
   * Signature: (Ljava/lang/String;Ljava/lang/reflect/Method;[B)Ljava/lang/Object;
   */
  JNIEXPORT jobject JNICALL Java_Broker_callMethod
    (JNIEnv *, jclass, jstring, jobject, jbyteArray);
  
  #ifdef __cplusplus
  }
  #endif
  #endif
  </code></pre>