/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 3.0.10
 *
 * This file is not intended to be easily readable and contains a number of
 * coding conventions designed to improve portability and efficiency. Do not make
 * changes to this file unless you know what you are doing--modify the SWIG
 * interface file instead.
 * ----------------------------------------------------------------------------- */


#ifndef SWIGJAVA
#define SWIGJAVA
#endif



#ifdef __cplusplus
/* SwigValueWrapper is described in swig.swg */
template<typename T> class SwigValueWrapper {
  struct SwigMovePointer {
    T *ptr;
    SwigMovePointer(T *p) : ptr(p) { }
    ~SwigMovePointer() { delete ptr; }
    SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
  } pointer;
  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
public:
  SwigValueWrapper() : pointer(0) { }
  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
  operator T&() const { return *pointer.ptr; }
  T *operator&() { return pointer.ptr; }
};

template <typename T> T SwigValueInit() {
  return T();
}
#endif

/* -----------------------------------------------------------------------------
 *  This section contains generic SWIG labels for method/variable
 *  declarations/attributes, and other compiler dependent labels.
 * ----------------------------------------------------------------------------- */

/* template workaround for compilers that cannot correctly implement the C++ standard */
#ifndef SWIGTEMPLATEDISAMBIGUATOR
# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
#  define SWIGTEMPLATEDISAMBIGUATOR template
# elif defined(__HP_aCC)
/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
#  define SWIGTEMPLATEDISAMBIGUATOR template
# else
#  define SWIGTEMPLATEDISAMBIGUATOR
# endif
#endif

/* inline attribute */
#ifndef SWIGINLINE
# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
#   define SWIGINLINE inline
# else
#   define SWIGINLINE
# endif
#endif

/* attribute recognised by some compilers to avoid 'unused' warnings */
#ifndef SWIGUNUSED
# if defined(__GNUC__)
#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
#     define SWIGUNUSED __attribute__ ((__unused__))
#   else
#     define SWIGUNUSED
#   endif
# elif defined(__ICC)
#   define SWIGUNUSED __attribute__ ((__unused__))
# else
#   define SWIGUNUSED
# endif
#endif

#ifndef SWIG_MSC_UNSUPPRESS_4505
# if defined(_MSC_VER)
#   pragma warning(disable : 4505) /* unreferenced local function has been removed */
# endif
#endif

#ifndef SWIGUNUSEDPARM
# ifdef __cplusplus
#   define SWIGUNUSEDPARM(p)
# else
#   define SWIGUNUSEDPARM(p) p SWIGUNUSED
# endif
#endif

/* internal SWIG method */
#ifndef SWIGINTERN
# define SWIGINTERN static SWIGUNUSED
#endif

/* internal inline SWIG method */
#ifndef SWIGINTERNINLINE
# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
#endif

/* exporting methods */
#if defined(__GNUC__)
#  if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
#    ifndef GCC_HASCLASSVISIBILITY
#      define GCC_HASCLASSVISIBILITY
#    endif
#  endif
#endif

#ifndef SWIGEXPORT
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
#   if defined(STATIC_LINKED)
#     define SWIGEXPORT
#   else
#     define SWIGEXPORT __declspec(dllexport)
#   endif
# else
#   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
#     define SWIGEXPORT __attribute__ ((visibility("default")))
#   else
#     define SWIGEXPORT
#   endif
# endif
#endif

/* calling conventions for Windows */
#ifndef SWIGSTDCALL
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
#   define SWIGSTDCALL __stdcall
# else
#   define SWIGSTDCALL
# endif
#endif

/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
# define _CRT_SECURE_NO_DEPRECATE
#endif

/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
# define _SCL_SECURE_NO_DEPRECATE
#endif

/* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
#if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
# define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
#endif

/* Intel's compiler complains if a variable which was never initialised is
 * cast to void, which is a common idiom which we use to indicate that we
 * are aware a variable isn't used.  So we just silence that warning.
 * See: https://github.com/swig/swig/issues/192 for more discussion.
 */
#ifdef __INTEL_COMPILER
# pragma warning disable 592
#endif


/* Fix for jlong on some versions of gcc on Windows */
#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
  typedef long long __int64;
#endif

/* Fix for jlong on 64-bit x86 Solaris */
#if defined(__x86_64)
# ifdef _LP64
#   undef _LP64
# endif
#endif

#include <jni.h>
#include <stdlib.h>
#include <string.h>


/* Support for throwing Java exceptions */
typedef enum {
  SWIG_JavaOutOfMemoryError = 1, 
  SWIG_JavaIOException, 
  SWIG_JavaRuntimeException, 
  SWIG_JavaIndexOutOfBoundsException,
  SWIG_JavaArithmeticException,
  SWIG_JavaIllegalArgumentException,
  SWIG_JavaNullPointerException,
  SWIG_JavaDirectorPureVirtual,
  SWIG_JavaUnknownError
} SWIG_JavaExceptionCodes;

typedef struct {
  SWIG_JavaExceptionCodes code;
  const char *java_exception;
} SWIG_JavaExceptions_t;


static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg) {
  jclass excep;
  static const SWIG_JavaExceptions_t java_exceptions[] = {
    { SWIG_JavaOutOfMemoryError, "java/lang/OutOfMemoryError" },
    { SWIG_JavaIOException, "java/io/IOException" },
    { SWIG_JavaRuntimeException, "java/lang/RuntimeException" },
    { SWIG_JavaIndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException" },
    { SWIG_JavaArithmeticException, "java/lang/ArithmeticException" },
    { SWIG_JavaIllegalArgumentException, "java/lang/IllegalArgumentException" },
    { SWIG_JavaNullPointerException, "java/lang/NullPointerException" },
    { SWIG_JavaDirectorPureVirtual, "java/lang/RuntimeException" },
    { SWIG_JavaUnknownError,  "java/lang/UnknownError" },
    { (SWIG_JavaExceptionCodes)0,  "java/lang/UnknownError" }
  };
  const SWIG_JavaExceptions_t *except_ptr = java_exceptions;

  while (except_ptr->code != code && except_ptr->code)
    except_ptr++;

  jenv->ExceptionClear();
  excep = jenv->FindClass(except_ptr->java_exception);
  if (excep)
    jenv->ThrowNew(excep, msg);
}


/* Contract support */

#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_JavaThrowException(jenv, SWIG_JavaIllegalArgumentException, msg); return nullreturn; } else


#include <string>


#include <stdexcept>


#include <map>
#include <algorithm>
#include <stdexcept>


#include <vector>
#include <stdexcept>


#include "DataMessage.h"
#include "Subscriptions.h"
#include "PsySpace.h"
#include "PsyTime.h"
#include "PsyAPI.h"
#include "Bitmap.h"
#include "MessagePlayer.h"
using namespace cmlabs; 

SWIGINTERN std::vector< std::string >::const_reference std_vector_Sl_std_string_Sg__get(std::vector< std::string > *self,int i){
                int size = int(self->size());
                if (i>=0 && i<size)
                    return (*self)[i];
                else
                    throw std::out_of_range("vector index out of range");
            }
SWIGINTERN void std_vector_Sl_std_string_Sg__set(std::vector< std::string > *self,int i,std::vector< std::string >::value_type const &val){
                int size = int(self->size());
                if (i>=0 && i<size)
                    (*self)[i] = val;
                else
                    throw std::out_of_range("vector index out of range");
            }
SWIGINTERN std::vector< long long >::const_reference std_vector_Sl_int64_Sg__get(std::vector< int64 > *self,int i){
                int size = int(self->size());
                if (i>=0 && i<size)
                    return (*self)[i];
                else
                    throw std::out_of_range("vector index out of range");
            }
SWIGINTERN void std_vector_Sl_int64_Sg__set(std::vector< int64 > *self,int i,std::vector< long long >::value_type const &val){
                int size = int(self->size());
                if (i>=0 && i<size)
                    (*self)[i] = val;
                else
                    throw std::out_of_range("vector index out of range");
            }
SWIGINTERN std::vector< double >::const_reference std_vector_Sl_float64_Sg__get(std::vector< float64 > *self,int i){
                int size = int(self->size());
                if (i>=0 && i<size)
                    return (*self)[i];
                else
                    throw std::out_of_range("vector index out of range");
            }
SWIGINTERN void std_vector_Sl_float64_Sg__set(std::vector< float64 > *self,int i,std::vector< double >::value_type const &val){
                int size = int(self->size());
                if (i>=0 && i<size)
                    (*self)[i] = val;
                else
                    throw std::out_of_range("vector index out of range");
            }

#ifdef __cplusplus
extern "C" {
#endif

SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_CURRENTDATAMESSAGEVERSION_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(10);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageEntryHeader_1size_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageEntryHeader *arg1 = (cmlabs::DataMessageEntryHeader *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageEntryHeader **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->size = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageEntryHeader_1size_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageEntryHeader *arg1 = (cmlabs::DataMessageEntryHeader *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageEntryHeader **)&jarg1; 
  result = (uint32) ((arg1)->size);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageEntryHeader_1cid_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageEntryHeader *arg1 = (cmlabs::DataMessageEntryHeader *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageEntryHeader **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->cid = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageEntryHeader_1cid_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageEntryHeader *arg1 = (cmlabs::DataMessageEntryHeader *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageEntryHeader **)&jarg1; 
  result = (uint32) ((arg1)->cid);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1DataMessageEntryHeader(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::DataMessageEntryHeader *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::DataMessageEntryHeader *)new cmlabs::DataMessageEntryHeader();
  *(cmlabs::DataMessageEntryHeader **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1DataMessageEntryHeader(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::DataMessageEntryHeader *arg1 = (cmlabs::DataMessageEntryHeader *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::DataMessageEntryHeader **)&jarg1; 
  delete arg1;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1size_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->size = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1size_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint32) ((arg1)->size);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1cid_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->cid = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1cid_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint32) ((arg1)->cid);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1memid_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->memid = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1memid_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint64) ((arg1)->memid);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1time_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->time = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1time_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint64) ((arg1)->time);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1sendtime_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->sendtime = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1sendtime_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint64) ((arg1)->sendtime);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1recvtime_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->recvtime = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1recvtime_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint64) ((arg1)->recvtime);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1origin_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->origin = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1origin_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint16) ((arg1)->origin);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1destination_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->destination = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1destination_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint16) ((arg1)->destination);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1ttl_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->ttl = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1ttl_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint64) ((arg1)->ttl);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1priority_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->priority = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1priority_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint16) ((arg1)->priority);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1policy_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint8 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  arg2 = (uint8)jarg2; 
  if (arg1) (arg1)->policy = arg2;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1policy_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jshort jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint8) ((arg1)->policy);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1from_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->from = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1from_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint32) ((arg1)->from);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1to_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->to = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1to_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint32) ((arg1)->to);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1type_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  PsyType arg2 ;
  PsyType *argp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  argp2 = *(PsyType **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1type_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result =  ((arg1)->type);
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1tag_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->tag = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1tag_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint32) ((arg1)->tag);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1status_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->status = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1status_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint16) ((arg1)->status);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1reference_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->reference = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1reference_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint64) ((arg1)->reference);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1serial_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->serial = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1serial_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint64) ((arg1)->serial);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1contextchange_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  PsyContext arg2 ;
  PsyContext *argp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  argp2 = *(PsyContext **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyContext");
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->contextchange = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1contextchange_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  PsyContext result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result =  ((arg1)->contextchange);
  *(PsyContext **)&jresult = new PsyContext((const PsyContext &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1userSize_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->userSize = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1userSize_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint32) ((arg1)->userSize);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1userCount_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->userCount = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1Old_1userCount_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  result = (uint32) ((arg1)->userCount);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1DataMessageHeader_1Old(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader_Old *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::DataMessageHeader_Old *)new cmlabs::DataMessageHeader_Old();
  *(cmlabs::DataMessageHeader_Old **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1DataMessageHeader_1Old(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::DataMessageHeader_Old *arg1 = (cmlabs::DataMessageHeader_Old *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::DataMessageHeader_Old **)&jarg1; 
  delete arg1;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1size_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->size = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1size_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint32) ((arg1)->size);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1cid_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->cid = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1cid_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint32) ((arg1)->cid);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1cver_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->cver = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1cver_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint16) ((arg1)->cver);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1cenc_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->cenc = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1cenc_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint16) ((arg1)->cenc);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1memid_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->memid = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1memid_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint64) ((arg1)->memid);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1time_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->time = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1time_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint64) ((arg1)->time);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1sendtime_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->sendtime = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1sendtime_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint64) ((arg1)->sendtime);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1recvtime_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->recvtime = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1recvtime_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint64) ((arg1)->recvtime);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1origin_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->origin = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1origin_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint16) ((arg1)->origin);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1destination_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->destination = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1destination_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint16) ((arg1)->destination);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1ttl_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->ttl = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1ttl_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint64) ((arg1)->ttl);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1priority_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->priority = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1priority_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint16) ((arg1)->priority);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1policy_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint8 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint8)jarg2; 
  if (arg1) (arg1)->policy = arg2;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1policy_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jshort jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint8) ((arg1)->policy);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1from_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->from = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1from_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint32) ((arg1)->from);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1to_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->to = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1to_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint32) ((arg1)->to);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1type_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  PsyType arg2 ;
  PsyType *argp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  argp2 = *(PsyType **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1type_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result =  ((arg1)->type);
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1tag_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->tag = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1tag_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint32) ((arg1)->tag);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1status_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->status = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1status_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint16) ((arg1)->status);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1reference_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->reference = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1reference_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint64) ((arg1)->reference);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1serial_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->serial = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1serial_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint64) ((arg1)->serial);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1contextchange_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  PsyContext arg2 ;
  PsyContext *argp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  argp2 = *(PsyContext **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyContext");
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->contextchange = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1contextchange_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  PsyContext result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result =  ((arg1)->contextchange);
  *(PsyContext **)&jresult = new PsyContext((const PsyContext &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1userSize_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->userSize = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1userSize_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint32) ((arg1)->userSize);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1userCount_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->userCount = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1userCount_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint32) ((arg1)->userCount);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1cyclecputime_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->cyclecputime = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1cyclecputime_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint32) ((arg1)->cyclecputime);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1cyclewalltime_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->cyclewalltime = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1cyclewalltime_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint32) ((arg1)->cyclewalltime);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1chaincputime_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->chaincputime = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1chaincputime_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint32) ((arg1)->chaincputime);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1chainwalltime_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->chainwalltime = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1chainwalltime_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint32) ((arg1)->chainwalltime);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1chaincount_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->chaincount = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1chaincount_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint32) ((arg1)->chaincount);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1systemid_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->systemid = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1systemid_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (uint32) ((arg1)->systemid);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1toJSON_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jlong jarg4) {
  jstring jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  std::map< uint16,std::string > *arg2 = (std::map< uint16,std::string > *) 0 ;
  std::map< uint16,std::string > *arg3 = (std::map< uint16,std::string > *) 0 ;
  std::map< uint32,std::string > *arg4 = (std::map< uint32,std::string > *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = *(std::map< uint16,std::string > **)&jarg2; 
  arg3 = *(std::map< uint16,std::string > **)&jarg3; 
  arg4 = *(std::map< uint32,std::string > **)&jarg4; 
  result = (arg1)->toJSON(arg2,arg3,arg4);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1toJSON_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  jstring jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  std::map< uint16,std::string > *arg2 = (std::map< uint16,std::string > *) 0 ;
  std::map< uint16,std::string > *arg3 = (std::map< uint16,std::string > *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = *(std::map< uint16,std::string > **)&jarg2; 
  arg3 = *(std::map< uint16,std::string > **)&jarg3; 
  result = (arg1)->toJSON(arg2,arg3);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1toJSON_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jstring jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  std::map< uint16,std::string > *arg2 = (std::map< uint16,std::string > *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = *(std::map< uint16,std::string > **)&jarg2; 
  result = (arg1)->toJSON(arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1toJSON_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (arg1)->toJSON();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1toXML_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jlong jarg4) {
  jstring jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  std::map< uint16,std::string > *arg2 = (std::map< uint16,std::string > *) 0 ;
  std::map< uint16,std::string > *arg3 = (std::map< uint16,std::string > *) 0 ;
  std::map< uint32,std::string > *arg4 = (std::map< uint32,std::string > *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = *(std::map< uint16,std::string > **)&jarg2; 
  arg3 = *(std::map< uint16,std::string > **)&jarg3; 
  arg4 = *(std::map< uint32,std::string > **)&jarg4; 
  result = (arg1)->toXML(arg2,arg3,arg4);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1toXML_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  jstring jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  std::map< uint16,std::string > *arg2 = (std::map< uint16,std::string > *) 0 ;
  std::map< uint16,std::string > *arg3 = (std::map< uint16,std::string > *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = *(std::map< uint16,std::string > **)&jarg2; 
  arg3 = *(std::map< uint16,std::string > **)&jarg3; 
  result = (arg1)->toXML(arg2,arg3);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1toXML_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jstring jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  std::map< uint16,std::string > *arg2 = (std::map< uint16,std::string > *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  arg2 = *(std::map< uint16,std::string > **)&jarg2; 
  result = (arg1)->toXML(arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessageHeader_1toXML_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  result = (arg1)->toXML();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1DataMessageHeader(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::DataMessageHeader *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::DataMessageHeader *)new cmlabs::DataMessageHeader();
  *(cmlabs::DataMessageHeader **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1DataMessageHeader(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::DataMessageHeader *arg1 = (cmlabs::DataMessageHeader *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::DataMessageHeader **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1FindClosestMessage(JNIEnv *jenv, jclass jcls, jobject jarg1, jlong jarg2) {
  jlong jresult = 0 ;
  uint64 arg1 ;
  std::map< uint64,cmlabs::DataMessage * > *arg2 = 0 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = *(std::map< uint64,cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::map< uint64,cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  result = (cmlabs::DataMessage *)cmlabs::DataMessage::FindClosestMessage(arg1,*arg2);
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1ConvertDataFromOlderMessageFormat(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2) {
  jboolean jresult = 0 ;
  char *arg1 = (char *) 0 ;
  char **arg2 = (char **) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = *(char ***)&jarg2; 
  result = (bool)cmlabs::DataMessage::ConvertDataFromOlderMessageFormat((char const *)arg1,arg2);
  jresult = (jboolean)result; 
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1DataMessage_1_1SWIG_10(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::DataMessage *)new cmlabs::DataMessage();
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1DataMessage_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2) {
  jlong jresult = 0 ;
  PsyType arg1 ;
  uint32 arg2 ;
  PsyType *argp1 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return 0;
  }
  arg1 = *argp1; 
  arg2 = (uint32)jarg2; 
  result = (cmlabs::DataMessage *)new cmlabs::DataMessage(arg1,arg2);
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1DataMessage_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3, jobject jarg4, jint jarg5) {
  jlong jresult = 0 ;
  PsyType arg1 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint64 arg4 ;
  uint16 arg5 ;
  PsyType *argp1 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return 0;
  }
  arg1 = *argp1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg4) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg4);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg4, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg4 = 0;
    if (sz > 0) {
      arg4 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg4 = (arg4 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg5 = (uint16)jarg5; 
  result = (cmlabs::DataMessage *)new cmlabs::DataMessage(arg1,arg2,arg3,arg4,arg5);
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1DataMessage_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3, jobject jarg4) {
  jlong jresult = 0 ;
  PsyType arg1 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint64 arg4 ;
  PsyType *argp1 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return 0;
  }
  arg1 = *argp1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg4) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg4);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg4, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg4 = 0;
    if (sz > 0) {
      arg4 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg4 = (arg4 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (cmlabs::DataMessage *)new cmlabs::DataMessage(arg1,arg2,arg3,arg4);
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1DataMessage_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3) {
  jlong jresult = 0 ;
  PsyType arg1 ;
  uint32 arg2 ;
  uint32 arg3 ;
  PsyType *argp1 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return 0;
  }
  arg1 = *argp1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  result = (cmlabs::DataMessage *)new cmlabs::DataMessage(arg1,arg2,arg3);
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1DataMessage_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3, jlong jarg4, jobject jarg5, jobject jarg6, jint jarg7) {
  jlong jresult = 0 ;
  PsyType arg1 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  uint64 arg5 ;
  uint64 arg6 ;
  uint16 arg7 ;
  PsyType *argp1 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return 0;
  }
  arg1 = *argp1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg5) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg5);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg5, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg5 = 0;
    if (sz > 0) {
      arg5 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg5 = (arg5 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg6) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg6);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg6, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg6 = 0;
    if (sz > 0) {
      arg6 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg6 = (arg6 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg7 = (uint16)jarg7; 
  result = (cmlabs::DataMessage *)new cmlabs::DataMessage(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1DataMessage_1_1SWIG_16(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3, jlong jarg4, jobject jarg5, jobject jarg6) {
  jlong jresult = 0 ;
  PsyType arg1 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  uint64 arg5 ;
  uint64 arg6 ;
  PsyType *argp1 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return 0;
  }
  arg1 = *argp1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg5) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg5);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg5, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg5 = 0;
    if (sz > 0) {
      arg5 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg5 = (arg5 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg6) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg6);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg6, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg6 = 0;
    if (sz > 0) {
      arg6 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg6 = (arg6 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (cmlabs::DataMessage *)new cmlabs::DataMessage(arg1,arg2,arg3,arg4,arg5,arg6);
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1DataMessage_1_1SWIG_17(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3, jlong jarg4, jobject jarg5) {
  jlong jresult = 0 ;
  PsyType arg1 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  uint64 arg5 ;
  PsyType *argp1 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return 0;
  }
  arg1 = *argp1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg5) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg5);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg5, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg5 = 0;
    if (sz > 0) {
      arg5 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg5 = (arg5 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (cmlabs::DataMessage *)new cmlabs::DataMessage(arg1,arg2,arg3,arg4,arg5);
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1DataMessage_1_1SWIG_18(JNIEnv *jenv, jclass jcls, jstring jarg1, jboolean jarg2) {
  jlong jresult = 0 ;
  char *arg1 = (char *) 0 ;
  bool arg2 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = jarg2 ? true : false; 
  result = (cmlabs::DataMessage *)new cmlabs::DataMessage(arg1,arg2);
  *(cmlabs::DataMessage **)&jresult = result; 
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1DataMessage_1_1SWIG_19(JNIEnv *jenv, jclass jcls, jstring jarg1) {
  jlong jresult = 0 ;
  char *arg1 = (char *) 0 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  result = (cmlabs::DataMessage *)new cmlabs::DataMessage(arg1);
  *(cmlabs::DataMessage **)&jresult = result; 
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1DataMessage_1_1SWIG_111(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = 0 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1;
  if (!arg1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "cmlabs::DataMessage const & reference is null");
    return 0;
  } 
  result = (cmlabs::DataMessage *)new cmlabs::DataMessage((cmlabs::DataMessage const &)*arg1);
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1DataMessage_1_1SWIG_112(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2) {
  jlong jresult = 0 ;
  char *arg1 = (char *) 0 ;
  uint32 arg2 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = (uint32)jarg2; 
  result = (cmlabs::DataMessage *)new cmlabs::DataMessage((char const *)arg1,arg2);
  *(cmlabs::DataMessage **)&jresult = result; 
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1DataMessage_1_1SWIG_113(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = 0 ;
  uint32 arg2 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1;
  if (!arg1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "cmlabs::DataMessage const & reference is null");
    return 0;
  } 
  arg2 = (uint32)jarg2; 
  result = (cmlabs::DataMessage *)new cmlabs::DataMessage((cmlabs::DataMessage const &)*arg1,arg2);
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1DataMessage(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1copy(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (cmlabs::DataMessage *)(arg1)->copy();
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1swapMessageData(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (char *)(arg1)->swapMessageData((char const *)arg2);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1fillInDraftUserDataFrom(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (uint32)jarg3; 
  result = (bool)(arg1)->fillInDraftUserDataFrom((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1isValid(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (bool)(arg1)->isValid();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getContentType_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (uint32)(arg1)->getContentType((char const *)arg2);
  jresult = (jlong)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getContentSize_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (uint32)(arg1)->getContentSize((char const *)arg2);
  jresult = (jlong)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsBool(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->getAsBool((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsString_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getAsString((char const *)arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsInt_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  int64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (int64)(arg1)->getAsInt((char const *)arg2);
  jresult = (jlong)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsTime_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jobject jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (uint64)(arg1)->getAsTime((char const *)arg2);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsFloat_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jdouble jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  float64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (float64)(arg1)->getAsFloat((char const *)arg2);
  jresult = (jdouble)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getTime_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jobject jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (uint64)(arg1)->getTime((char const *)arg2);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getString_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (char *)(arg1)->getString((char const *)arg2);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getString_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 *arg3 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(uint32 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)(arg1)->getString((char const *)arg2,*arg3);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getInt_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  int64 *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(int64 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "int64 & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->getInt((char const *)arg2,*arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getDouble_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  double *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(double **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "double & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->getDouble((char const *)arg2,*arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getFloat_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  float64 *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(float64 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "float64 & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->getFloat((char const *)arg2,*arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getData_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 *arg3 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(uint32 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)(arg1)->getData((char const *)arg2,*arg3);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getDataCopy_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 *arg3 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(uint32 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)(arg1)->getDataCopy((char const *)arg2,*arg3);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAttachedMessageCopy_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (cmlabs::DataMessage *)(arg1)->getAttachedMessageCopy((char const *)arg2);
  *(cmlabs::DataMessage **)&jresult = result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getTime_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jobject jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  bool *arg3 = 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(bool **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "bool & reference is null");
    return 0;
  } 
  result = (uint64)(arg1)->getTime((char const *)arg2,*arg3);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getString_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  bool *arg3 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(bool **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "bool & reference is null");
    return 0;
  } 
  result = (char *)(arg1)->getString((char const *)arg2,*arg3);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getString_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jlong jarg4) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 *arg3 = 0 ;
  bool *arg4 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(uint32 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  arg4 = *(bool **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "bool & reference is null");
    return 0;
  } 
  result = (char *)(arg1)->getString((char const *)arg2,*arg3,*arg4);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getInt_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  bool *arg3 = 0 ;
  int64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(bool **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "bool & reference is null");
    return 0;
  } 
  result = (int64)(arg1)->getInt((char const *)arg2,*arg3);
  jresult = (jlong)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getDouble_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jdouble jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  bool *arg3 = 0 ;
  double result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(bool **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "bool & reference is null");
    return 0;
  } 
  result = (double)(arg1)->getDouble((char const *)arg2,*arg3);
  jresult = (jdouble)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getFloat_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jdouble jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  bool *arg3 = 0 ;
  float64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(bool **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "bool & reference is null");
    return 0;
  } 
  result = (float64)(arg1)->getFloat((char const *)arg2,*arg3);
  jresult = (jdouble)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getData_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jlong jarg4) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 *arg3 = 0 ;
  bool *arg4 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(uint32 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  arg4 = *(bool **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "bool & reference is null");
    return 0;
  } 
  result = (char *)(arg1)->getData((char const *)arg2,*arg3,*arg4);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getDataCopy_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jlong jarg4) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 *arg3 = 0 ;
  bool *arg4 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(uint32 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  arg4 = *(bool **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "bool & reference is null");
    return 0;
  } 
  result = (char *)(arg1)->getDataCopy((char const *)arg2,*arg3,*arg4);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAttachedMessageCopy_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  bool *arg3 = 0 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(bool **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "bool & reference is null");
    return 0;
  } 
  result = (cmlabs::DataMessage *)(arg1)->getAttachedMessageCopy((char const *)arg2,*arg3);
  *(cmlabs::DataMessage **)&jresult = result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getInt_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  int64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (int64)(arg1)->getInt((char const *)arg2);
  jresult = (jlong)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getDouble_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jdouble jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  double result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (double)(arg1)->getDouble((char const *)arg2);
  jresult = (jdouble)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getFloat_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jdouble jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  float64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (float64)(arg1)->getFloat((char const *)arg2);
  jresult = (jdouble)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setTime_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jobject jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  uint64 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg3) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg3);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg3, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg3 = 0;
    if (sz > 0) {
      arg3 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg3 = (arg3 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (bool)(arg1)->setTime((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setString_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (bool)(arg1)->setString((char const *)arg2,(char const *)arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setInt_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  int64 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (int64)jarg3; 
  result = (bool)(arg1)->setInt((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setDouble_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jdouble jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  double arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (double)jarg3; 
  result = (bool)(arg1)->setDouble((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setFloat_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jdouble jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  float64 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (float64)jarg3; 
  result = (bool)(arg1)->setFloat((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setData_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jlong jarg4) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  uint32 arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (uint32)jarg4; 
  result = (bool)(arg1)->setData((char const *)arg2,(char const *)arg3,arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setAttachedMessage_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jobject jarg3_) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  cmlabs::DataMessage *arg3 = (cmlabs::DataMessage *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg3_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(cmlabs::DataMessage **)&jarg3; 
  result = (bool)(arg1)->setAttachedMessage((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getUserSize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint32)(arg1)->getUserSize();
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getUserCount(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint32)(arg1)->getUserCount();
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getKeyType(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jint jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  cmlabs::DataMessage::KeyType result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (cmlabs::DataMessage::KeyType)(arg1)->getKeyType((char const *)arg2);
  jresult = (jint)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1isArrayContent(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->isArrayContent((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1isMapContent(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->isMapContent((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1isSingleValue(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->isSingleValue((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1hasKey(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->hasKey((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1hasString(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->hasString((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1hasInteger(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->hasInteger((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1hasFloat(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->hasFloat((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1hasTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->hasTime((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1hasData(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->hasData((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1hasMessage(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->hasMessage((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getContentType_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (uint32)(arg1)->getContentType(arg2,(char const *)arg3);
  jresult = (jlong)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getContentSize_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (uint32)(arg1)->getContentSize(arg2,(char const *)arg3);
  jresult = (jlong)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getTime_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3) {
  jobject jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (uint64)(arg1)->getTime(arg2,(char const *)arg3);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsString_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (arg1)->getAsString(arg2,(char const *)arg3);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsInt_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  int64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (int64)(arg1)->getAsInt(arg2,(char const *)arg3);
  jresult = (jlong)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsTime_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3) {
  jobject jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (uint64)(arg1)->getAsTime(arg2,(char const *)arg3);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsFloat_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3) {
  jdouble jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  float64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (float64)(arg1)->getAsFloat(arg2,(char const *)arg3);
  jresult = (jdouble)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getString_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (char *)(arg1)->getString(arg2,(char const *)arg3);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getString_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  uint32 *arg4 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(uint32 **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)(arg1)->getString(arg2,(char const *)arg3,*arg4);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getInt_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  int64 *arg4 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(int64 **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "int64 & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->getInt(arg2,(char const *)arg3,*arg4);
  jresult = (jboolean)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getDouble_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  double *arg4 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(double **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "double & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->getDouble(arg2,(char const *)arg3,*arg4);
  jresult = (jboolean)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getFloat_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  float64 *arg4 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(float64 **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "float64 & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->getFloat(arg2,(char const *)arg3,*arg4);
  jresult = (jboolean)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getInt_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  bool *arg4 = 0 ;
  int64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(bool **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "bool & reference is null");
    return 0;
  } 
  result = (int64)(arg1)->getInt(arg2,(char const *)arg3,*arg4);
  jresult = (jlong)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getDouble_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4) {
  jdouble jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  bool *arg4 = 0 ;
  double result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(bool **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "bool & reference is null");
    return 0;
  } 
  result = (double)(arg1)->getDouble(arg2,(char const *)arg3,*arg4);
  jresult = (jdouble)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getFloat_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4) {
  jdouble jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  bool *arg4 = 0 ;
  float64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(bool **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "bool & reference is null");
    return 0;
  } 
  result = (float64)(arg1)->getFloat(arg2,(char const *)arg3,*arg4);
  jresult = (jdouble)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getInt_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  int64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (int64)(arg1)->getInt(arg2,(char const *)arg3);
  jresult = (jlong)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getDouble_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3) {
  jdouble jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  double result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (double)(arg1)->getDouble(arg2,(char const *)arg3);
  jresult = (jdouble)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getFloat_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3) {
  jdouble jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  float64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (float64)(arg1)->getFloat(arg2,(char const *)arg3);
  jresult = (jdouble)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getData_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  uint32 *arg4 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(uint32 **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)(arg1)->getData(arg2,(char const *)arg3,*arg4);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getDataCopy_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  uint32 *arg4 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(uint32 **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)(arg1)->getDataCopy(arg2,(char const *)arg3,*arg4);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAttachedMessageCopy_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (cmlabs::DataMessage *)(arg1)->getAttachedMessageCopy(arg2,(char const *)arg3);
  *(cmlabs::DataMessage **)&jresult = result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setTime_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jobject jarg4) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  uint64 arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg4) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg4);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg4, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg4 = 0;
    if (sz > 0) {
      arg4 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg4 = (arg4 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (bool)(arg1)->setTime(arg2,(char const *)arg3,arg4);
  jresult = (jboolean)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setString_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jstring jarg4) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  result = (bool)(arg1)->setString(arg2,(char const *)arg3,(char const *)arg4);
  jresult = (jboolean)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setInt_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  int64 arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (int64)jarg4; 
  result = (bool)(arg1)->setInt(arg2,(char const *)arg3,arg4);
  jresult = (jboolean)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setDouble_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jdouble jarg4) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  double arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (double)jarg4; 
  result = (bool)(arg1)->setDouble(arg2,(char const *)arg3,arg4);
  jresult = (jboolean)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setFloat_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jdouble jarg4) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  float64 arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (float64)jarg4; 
  result = (bool)(arg1)->setFloat(arg2,(char const *)arg3,arg4);
  jresult = (jboolean)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setData_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jstring jarg4, jlong jarg5) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  uint32 arg5 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  arg5 = (uint32)jarg5; 
  result = (bool)(arg1)->setData(arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = (jboolean)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setAttachedMessage_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4, jobject jarg4_) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  int64 arg2 ;
  char *arg3 = (char *) 0 ;
  cmlabs::DataMessage *arg4 = (cmlabs::DataMessage *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg4_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (int64)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(cmlabs::DataMessage **)&jarg4; 
  result = (bool)(arg1)->setAttachedMessage(arg2,(char const *)arg3,arg4);
  jresult = (jboolean)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getTimeArray(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  SwigValueWrapper< std::map< long long,unsigned long long > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getTimeArray((char const *)arg2);
  *(std::map< int64,uint64 > **)&jresult = new std::map< int64,uint64 >((const std::map< int64,uint64 > &)result); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsStringArray(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  SwigValueWrapper< std::map< long long,std::string > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getAsStringArray((char const *)arg2);
  *(std::map< int64,std::string > **)&jresult = new std::map< int64,std::string >((const std::map< int64,std::string > &)result); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsIntArray(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  SwigValueWrapper< std::map< long long,long long > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getAsIntArray((char const *)arg2);
  *(std::map< int64,int64 > **)&jresult = new std::map< int64,int64 >((const std::map< int64,int64 > &)result); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsFloatArray(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  SwigValueWrapper< std::map< long long,double > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getAsFloatArray((char const *)arg2);
  *(std::map< int64,float64 > **)&jresult = new std::map< int64,float64 >((const std::map< int64,float64 > &)result); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getStringArray(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  SwigValueWrapper< std::map< long long,std::string > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getStringArray((char const *)arg2);
  *(std::map< int64,std::string > **)&jresult = new std::map< int64,std::string >((const std::map< int64,std::string > &)result); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getIntArray(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  SwigValueWrapper< std::map< long long,long long > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getIntArray((char const *)arg2);
  *(std::map< int64,int64 > **)&jresult = new std::map< int64,int64 >((const std::map< int64,int64 > &)result); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getDoubleArray(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  SwigValueWrapper< std::map< long long,double > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getDoubleArray((char const *)arg2);
  *(std::map< int64,double > **)&jresult = new std::map< int64,double >((const std::map< int64,double > &)result); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getFloatArray(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  SwigValueWrapper< std::map< long long,double > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getFloatArray((char const *)arg2);
  *(std::map< int64,float64 > **)&jresult = new std::map< int64,float64 >((const std::map< int64,float64 > &)result); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAttachedMessageArray(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  SwigValueWrapper< std::map< long long,cmlabs::DataMessage * > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getAttachedMessageArray((char const *)arg2);
  *(std::map< int64,cmlabs::DataMessage * > **)&jresult = new std::map< int64,cmlabs::DataMessage * >((const std::map< int64,cmlabs::DataMessage * > &)result); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getArraySize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (uint32)(arg1)->getArraySize((char const *)arg2);
  jresult = (jlong)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getArrayCount(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (uint32)(arg1)->getArrayCount((char const *)arg2);
  jresult = (jlong)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getMapSize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (uint32)(arg1)->getMapSize((char const *)arg2);
  jresult = (jlong)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getMapCount(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (uint32)(arg1)->getMapCount((char const *)arg2);
  jresult = (jlong)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setTimeArray(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  std::map< int64,uint64 > *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(std::map< int64,uint64 > **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::map< int64,uint64 > & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->setTimeArray((char const *)arg2,*arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setStringArray(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  std::map< int64,std::string > *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(std::map< int64,std::string > **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::map< int64,std::string > & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->setStringArray((char const *)arg2,*arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setIntArray(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  std::map< int64,int64 > *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(std::map< int64,int64 > **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::map< int64,int64 > & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->setIntArray((char const *)arg2,*arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setDoubleArray(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  std::map< int64,double > *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(std::map< int64,double > **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::map< int64,double > & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->setDoubleArray((char const *)arg2,*arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setFloatArray(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  std::map< int64,float64 > *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(std::map< int64,float64 > **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::map< int64,float64 > & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->setFloatArray((char const *)arg2,*arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setAttachedMessageArray(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  std::map< int64,cmlabs::DataMessage * > *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(std::map< int64,cmlabs::DataMessage * > **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::map< int64,cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->setAttachedMessageArray((char const *)arg2,*arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getContentType_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (uint32)(arg1)->getContentType((char const *)arg2,(char const *)arg3);
  jresult = (jlong)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getContentSize_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (uint32)(arg1)->getContentSize((char const *)arg2,(char const *)arg3);
  jresult = (jlong)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getTime_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
  jobject jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (uint64)(arg1)->getTime((char const *)arg2,(char const *)arg3);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsString_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (arg1)->getAsString((char const *)arg2,(char const *)arg3);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsInt_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (int64)(arg1)->getAsInt((char const *)arg2,(char const *)arg3);
  jresult = (jlong)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsTime_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
  jobject jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (uint64)(arg1)->getAsTime((char const *)arg2,(char const *)arg3);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsFloat_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
  jdouble jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  float64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (float64)(arg1)->getAsFloat((char const *)arg2,(char const *)arg3);
  jresult = (jdouble)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getString_1_1SWIG_16(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (char *)(arg1)->getString((char const *)arg2,(char const *)arg3);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getString_1_1SWIG_17(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jlong jarg4) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  uint32 *arg4 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(uint32 **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)(arg1)->getString((char const *)arg2,(char const *)arg3,*arg4);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getInt_1_1SWIG_16(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jlong jarg4) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int64 *arg4 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(int64 **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "int64 & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->getInt((char const *)arg2,(char const *)arg3,*arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getDouble_1_1SWIG_16(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jlong jarg4) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  double *arg4 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(double **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "double & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->getDouble((char const *)arg2,(char const *)arg3,*arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getFloat_1_1SWIG_16(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jlong jarg4) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  float64 *arg4 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(float64 **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "float64 & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->getFloat((char const *)arg2,(char const *)arg3,*arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getInt_1_1SWIG_17(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jlong jarg4) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool *arg4 = 0 ;
  int64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(bool **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "bool & reference is null");
    return 0;
  } 
  result = (int64)(arg1)->getInt((char const *)arg2,(char const *)arg3,*arg4);
  jresult = (jlong)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getDouble_1_1SWIG_17(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jlong jarg4) {
  jdouble jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool *arg4 = 0 ;
  double result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(bool **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "bool & reference is null");
    return 0;
  } 
  result = (double)(arg1)->getDouble((char const *)arg2,(char const *)arg3,*arg4);
  jresult = (jdouble)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getFloat_1_1SWIG_17(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jlong jarg4) {
  jdouble jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool *arg4 = 0 ;
  float64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(bool **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "bool & reference is null");
    return 0;
  } 
  result = (float64)(arg1)->getFloat((char const *)arg2,(char const *)arg3,*arg4);
  jresult = (jdouble)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getInt_1_1SWIG_18(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (int64)(arg1)->getInt((char const *)arg2,(char const *)arg3);
  jresult = (jlong)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getDouble_1_1SWIG_18(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
  jdouble jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  double result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (double)(arg1)->getDouble((char const *)arg2,(char const *)arg3);
  jresult = (jdouble)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getFloat_1_1SWIG_18(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
  jdouble jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  float64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (float64)(arg1)->getFloat((char const *)arg2,(char const *)arg3);
  jresult = (jdouble)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getData_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jlong jarg4) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  uint32 *arg4 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(uint32 **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)(arg1)->getData((char const *)arg2,(char const *)arg3,*arg4);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getDataCopy_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jlong jarg4) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  uint32 *arg4 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(uint32 **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)(arg1)->getDataCopy((char const *)arg2,(char const *)arg3,*arg4);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAttachedMessageCopy_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (cmlabs::DataMessage *)(arg1)->getAttachedMessageCopy((char const *)arg2,(char const *)arg3);
  *(cmlabs::DataMessage **)&jresult = result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setTime_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jobject jarg4) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  uint64 arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg4) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg4);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg4, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg4 = 0;
    if (sz > 0) {
      arg4 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg4 = (arg4 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (bool)(arg1)->setTime((char const *)arg2,(char const *)arg3,arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setString_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jstring jarg4) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  result = (bool)(arg1)->setString((char const *)arg2,(char const *)arg3,(char const *)arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setInt_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jlong jarg4) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  int64 arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (int64)jarg4; 
  result = (bool)(arg1)->setInt((char const *)arg2,(char const *)arg3,arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setDouble_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jdouble jarg4) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  double arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (double)jarg4; 
  result = (bool)(arg1)->setDouble((char const *)arg2,(char const *)arg3,arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setFloat_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jdouble jarg4) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  float64 arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (float64)jarg4; 
  result = (bool)(arg1)->setFloat((char const *)arg2,(char const *)arg3,arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setData_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jstring jarg4, jlong jarg5) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  uint32 arg5 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  arg5 = (uint32)jarg5; 
  result = (bool)(arg1)->setData((char const *)arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setAttachedMessage_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jlong jarg4, jobject jarg4_) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  cmlabs::DataMessage *arg4 = (cmlabs::DataMessage *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg4_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(cmlabs::DataMessage **)&jarg4; 
  result = (bool)(arg1)->setAttachedMessage((char const *)arg2,(char const *)arg3,arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getTimeMap(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  SwigValueWrapper< std::map< std::string,unsigned long long > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getTimeMap((char const *)arg2);
  *(std::map< std::string,uint64 > **)&jresult = new std::map< std::string,uint64 >((const std::map< std::string,uint64 > &)result); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsStringMap(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  SwigValueWrapper< std::map< std::string,std::string > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getAsStringMap((char const *)arg2);
  *(std::map< std::string,std::string > **)&jresult = new std::map< std::string,std::string >((const std::map< std::string,std::string > &)result); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsIntMap(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  SwigValueWrapper< std::map< std::string,long long > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getAsIntMap((char const *)arg2);
  *(std::map< std::string,int64 > **)&jresult = new std::map< std::string,int64 >((const std::map< std::string,int64 > &)result); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAsFloatMap(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  SwigValueWrapper< std::map< std::string,double > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getAsFloatMap((char const *)arg2);
  *(std::map< std::string,float64 > **)&jresult = new std::map< std::string,float64 >((const std::map< std::string,float64 > &)result); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getStringMap(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  SwigValueWrapper< std::map< std::string,std::string > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getStringMap((char const *)arg2);
  *(std::map< std::string,std::string > **)&jresult = new std::map< std::string,std::string >((const std::map< std::string,std::string > &)result); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getIntMap(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  SwigValueWrapper< std::map< std::string,long long > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getIntMap((char const *)arg2);
  *(std::map< std::string,int64 > **)&jresult = new std::map< std::string,int64 >((const std::map< std::string,int64 > &)result); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getDoubleMap(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  SwigValueWrapper< std::map< std::string,double > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getDoubleMap((char const *)arg2);
  *(std::map< std::string,double > **)&jresult = new std::map< std::string,double >((const std::map< std::string,double > &)result); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getFloatMap(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  SwigValueWrapper< std::map< std::string,double > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getFloatMap((char const *)arg2);
  *(std::map< std::string,float64 > **)&jresult = new std::map< std::string,float64 >((const std::map< std::string,float64 > &)result); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getAttachedMessageMap(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  SwigValueWrapper< std::map< std::string,cmlabs::DataMessage * > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getAttachedMessageMap((char const *)arg2);
  *(std::map< std::string,cmlabs::DataMessage * > **)&jresult = new std::map< std::string,cmlabs::DataMessage * >((const std::map< std::string,cmlabs::DataMessage * > &)result); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setTimeMap(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  std::map< std::string,uint64 > *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(std::map< std::string,uint64 > **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::map< std::string,uint64 > & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->setTimeMap((char const *)arg2,*arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setStringMap(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  std::map< std::string,std::string > *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(std::map< std::string,std::string > **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::map< std::string,std::string > & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->setStringMap((char const *)arg2,*arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setIntMap(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  std::map< std::string,int64 > *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(std::map< std::string,int64 > **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::map< std::string,int64 > & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->setIntMap((char const *)arg2,*arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setDoubleMap(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  std::map< std::string,double > *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(std::map< std::string,double > **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::map< std::string,double > & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->setDoubleMap((char const *)arg2,*arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setFloatMap(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  std::map< std::string,float64 > *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(std::map< std::string,float64 > **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::map< std::string,float64 > & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->setFloatMap((char const *)arg2,*arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setAttachedMessageMap(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  std::map< std::string,cmlabs::DataMessage * > *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(std::map< std::string,cmlabs::DataMessage * > **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::map< std::string,cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->setAttachedMessageMap((char const *)arg2,*arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1toJSON_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jlong jarg4) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  std::map< uint16,std::string > *arg2 = (std::map< uint16,std::string > *) 0 ;
  std::map< uint16,std::string > *arg3 = (std::map< uint16,std::string > *) 0 ;
  std::map< uint32,std::string > *arg4 = (std::map< uint32,std::string > *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = *(std::map< uint16,std::string > **)&jarg2; 
  arg3 = *(std::map< uint16,std::string > **)&jarg3; 
  arg4 = *(std::map< uint32,std::string > **)&jarg4; 
  result = (arg1)->toJSON(arg2,arg3,arg4);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1toJSON_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  std::map< uint16,std::string > *arg2 = (std::map< uint16,std::string > *) 0 ;
  std::map< uint16,std::string > *arg3 = (std::map< uint16,std::string > *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = *(std::map< uint16,std::string > **)&jarg2; 
  arg3 = *(std::map< uint16,std::string > **)&jarg3; 
  result = (arg1)->toJSON(arg2,arg3);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1toJSON_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  std::map< uint16,std::string > *arg2 = (std::map< uint16,std::string > *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = *(std::map< uint16,std::string > **)&jarg2; 
  result = (arg1)->toJSON(arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1toJSON_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (arg1)->toJSON();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1toXML_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jlong jarg4) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  std::map< uint16,std::string > *arg2 = (std::map< uint16,std::string > *) 0 ;
  std::map< uint16,std::string > *arg3 = (std::map< uint16,std::string > *) 0 ;
  std::map< uint32,std::string > *arg4 = (std::map< uint32,std::string > *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = *(std::map< uint16,std::string > **)&jarg2; 
  arg3 = *(std::map< uint16,std::string > **)&jarg3; 
  arg4 = *(std::map< uint32,std::string > **)&jarg4; 
  result = (arg1)->toXML(arg2,arg3,arg4);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1toXML_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  std::map< uint16,std::string > *arg2 = (std::map< uint16,std::string > *) 0 ;
  std::map< uint16,std::string > *arg3 = (std::map< uint16,std::string > *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = *(std::map< uint16,std::string > **)&jarg2; 
  arg3 = *(std::map< uint16,std::string > **)&jarg3; 
  result = (arg1)->toXML(arg2,arg3);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1toXML_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  std::map< uint16,std::string > *arg2 = (std::map< uint16,std::string > *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = *(std::map< uint16,std::string > **)&jarg2; 
  result = (arg1)->toXML(arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1toXML_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (arg1)->toXML();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1toCSV_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jlong jarg4, jlong jarg5, jlong jarg6) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  std::map< uint16,std::string > *arg4 = (std::map< uint16,std::string > *) 0 ;
  std::map< uint16,std::string > *arg5 = (std::map< uint16,std::string > *) 0 ;
  std::map< uint32,std::string > *arg6 = (std::map< uint32,std::string > *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(std::map< uint16,std::string > **)&jarg4; 
  arg5 = *(std::map< uint16,std::string > **)&jarg5; 
  arg6 = *(std::map< uint32,std::string > **)&jarg6; 
  result = (arg1)->toCSV((char const *)arg2,(char const *)arg3,arg4,arg5,arg6);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1toCSV_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jlong jarg4, jlong jarg5) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  std::map< uint16,std::string > *arg4 = (std::map< uint16,std::string > *) 0 ;
  std::map< uint16,std::string > *arg5 = (std::map< uint16,std::string > *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(std::map< uint16,std::string > **)&jarg4; 
  arg5 = *(std::map< uint16,std::string > **)&jarg5; 
  result = (arg1)->toCSV((char const *)arg2,(char const *)arg3,arg4,arg5);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1toCSV_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jlong jarg4) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  std::map< uint16,std::string > *arg4 = (std::map< uint16,std::string > *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(std::map< uint16,std::string > **)&jarg4; 
  result = (arg1)->toCSV((char const *)arg2,(char const *)arg3,arg4);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1toCSV_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (arg1)->toCSV((char const *)arg2,(char const *)arg3);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1toCSV_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->toCSV((char const *)arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1toCSV_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (arg1)->toCSV();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1GetCSVHeader_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jstring jarg1, jstring jarg2) {
  jstring jresult = 0 ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = cmlabs::DataMessage::GetCSVHeader((char const *)arg1,(char const *)arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1GetCSVHeader_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jstring jarg1) {
  jstring jresult = 0 ;
  char *arg1 = (char *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  result = cmlabs::DataMessage::GetCSVHeader((char const *)arg1);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1GetCSVHeader_1_1SWIG_12(JNIEnv *jenv, jclass jcls) {
  jstring jresult = 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  result = cmlabs::DataMessage::GetCSVHeader();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1copyUserEntriesFromMessage(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  cmlabs::DataMessage *arg2 = (cmlabs::DataMessage *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = *(cmlabs::DataMessage **)&jarg2; 
  result = (uint32)(arg1)->copyUserEntriesFromMessage(arg2);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getUserEntriesAsString(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (arg1)->getUserEntriesAsString();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getUserEntriesAsJSON(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  bool arg2 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = jarg2 ? true : false; 
  result = (arg1)->getUserEntriesAsJSON(arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getRawData(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (char *)(arg1)->getRawData();
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getOrigin(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint16)(arg1)->getOrigin();
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getDestination(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint16)(arg1)->getDestination();
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setOrigin(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint16 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint16)jarg2; 
  result = (bool)(arg1)->setOrigin(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setDestination(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint16 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint16)jarg2; 
  result = (bool)(arg1)->setDestination(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getSize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint32)(arg1)->getSize();
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setMultiple(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jlong jarg4, jobject jarg5, jshort jarg6, jobject jarg7) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  uint64 arg5 ;
  uint8 arg6 ;
  uint64 arg7 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg5) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg5);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg5, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg5 = 0;
    if (sz > 0) {
      arg5 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg5 = (arg5 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg6 = (uint8)jarg6; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg7) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg7);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg7, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg7 = 0;
    if (sz > 0) {
      arg7 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg7 = (arg7 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (bool)(arg1)->setMultiple(arg2,arg3,arg4,arg5,arg6,arg7);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getTag(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint32)(arg1)->getTag();
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setTag(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (bool)(arg1)->setTag(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getReference(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint64)(arg1)->getReference();
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setReference(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint64 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (bool)(arg1)->setReference(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getSystemID(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint32)(arg1)->getSystemID();
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setSystemID(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (bool)(arg1)->setSystemID(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getMemID(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint64)(arg1)->getMemID();
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setMemID(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint64 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (bool)(arg1)->setMemID(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getFrom(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint32)(arg1)->getFrom();
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setFrom(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (bool)(arg1)->setFrom(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getTo(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint32)(arg1)->getTo();
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setTo(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (bool)(arg1)->setTo(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getType(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (arg1)->getType();
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setType(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  PsyType *arg2 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = *(PsyType **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "PsyType & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->setType(*arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getContextChange(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  PsyContext result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (arg1)->getContextChange();
  *(PsyContext **)&jresult = new PsyContext((const PsyContext &)result); 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setContextChange(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  PsyContext *arg2 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = *(PsyContext **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "PsyContext & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->setContextChange(*arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getTTL(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint64)(arg1)->getTTL();
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getEOL(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint64)(arg1)->getEOL();
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setTTL(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint64 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (bool)(arg1)->setTTL(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setEOL(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint64 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (bool)(arg1)->setEOL(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getPriority(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint16)(arg1)->getPriority();
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setPriority(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint16 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint16)jarg2; 
  result = (bool)(arg1)->setPriority(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getPolicy(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jshort jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint8)(arg1)->getPolicy();
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setPolicy(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint8 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint8)jarg2; 
  result = (bool)(arg1)->setPolicy(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getSendTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint64)(arg1)->getSendTime();
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setSendTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint64 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (bool)(arg1)->setSendTime(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getRecvTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint64)(arg1)->getRecvTime();
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setRecvTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint64 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (bool)(arg1)->setRecvTime(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getCreatedTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint64)(arg1)->getCreatedTime();
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setCreatedTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint64 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (bool)(arg1)->setCreatedTime(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getStatus(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint16)(arg1)->getStatus();
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setStatus(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint16 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint16)jarg2; 
  result = (bool)(arg1)->setStatus(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getSerial(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint64)(arg1)->getSerial();
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setSerial(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint64 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (bool)(arg1)->setSerial(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1addTimeUsage_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jlong jarg4, jlong jarg5, jlong jarg6) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  uint32 arg5 ;
  uint32 arg6 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = (uint32)jarg5; 
  arg6 = (uint32)jarg6; 
  result = (bool)(arg1)->addTimeUsage(arg2,arg3,arg4,arg5,arg6);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1addTimeUsage_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jlong jarg4, jlong jarg5) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  uint32 arg5 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = (uint32)jarg5; 
  result = (bool)(arg1)->addTimeUsage(arg2,arg3,arg4,arg5);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1addTimeUsage_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jlong jarg4) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  result = (bool)(arg1)->addTimeUsage(arg2,arg3,arg4);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1addTimeUsage_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  result = (bool)(arg1)->addTimeUsage(arg2,arg3);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getCycleCPUTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint16)(arg1)->getCycleCPUTime();
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setCycleCPUTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (bool)(arg1)->setCycleCPUTime(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getCycleWallTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint16)(arg1)->getCycleWallTime();
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setCycleWallTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (bool)(arg1)->setCycleWallTime(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getChainCPUTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint16)(arg1)->getChainCPUTime();
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setChainCPUTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (bool)(arg1)->setChainCPUTime(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getChainWallTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint16)(arg1)->getChainWallTime();
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setChainWallTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (bool)(arg1)->setChainWallTime(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1getChainCount(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (uint32)(arg1)->getChainCount();
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1setChainCount(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  uint32 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (bool)(arg1)->setChainCount(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1deleteEntry(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->deleteEntry((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1data_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  cmlabs::DataMessageHeader *arg2 = (cmlabs::DataMessageHeader *) 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  arg2 = *(cmlabs::DataMessageHeader **)&jarg2; 
  if (arg1) (arg1)->data = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DataMessage_1data_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  cmlabs::DataMessageHeader *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (cmlabs::DataMessageHeader *) ((arg1)->data);
  *(cmlabs::DataMessageHeader **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_COMP_1WHITEBOARD_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(1);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_COMP_1CATALOG_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(2);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_COMP_1STREAM_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(3);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_COMP_1FEED_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(4);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_COMP_1SERVICE_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(5);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_COMP_1MODULE_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(6);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_COMP_1INTERNAL_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(6);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_COMP_1EXTERNAL_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(7);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_COMP_1MIGRATE_1NO_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(0);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_COMP_1MIGRATE_1ALLOW_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(1);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TRIGGERFILTER_1HASKEY_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(1);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TRIGGERFILTER_1EQUALS_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(2);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TRIGGERFILTER_1NOTEQUALS_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(3);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TRIGGERFILTER_1EQUALSNUMERIC_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(4);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TRIGGERFILTER_1NOTEQUALSNUMERIC_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(5);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TRIGGERFILTER_1GREATERTHAN_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(6);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TRIGGERFILTER_1LESSTHAN_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(7);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TRIGGERFILTER_1MAXAGE_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(8);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_INDEX_1TIME_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(1);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_INDEX_1STRING_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(2);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_INDEX_1INTEGER_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(3);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_INDEX_1FLOAT_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(4);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FilterSpec_1filter_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2) {
  cmlabs::FilterSpec *arg1 = (cmlabs::FilterSpec *) 0 ;
  uint8 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::FilterSpec **)&jarg1; 
  arg2 = (uint8)jarg2; 
  if (arg1) (arg1)->filter = arg2;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FilterSpec_1filter_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jshort jresult = 0 ;
  cmlabs::FilterSpec *arg1 = (cmlabs::FilterSpec *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::FilterSpec **)&jarg1; 
  result = (uint8) ((arg1)->filter);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FilterSpec_1time_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::FilterSpec *arg1 = (cmlabs::FilterSpec *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::FilterSpec **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->time = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FilterSpec_1time_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::FilterSpec *arg1 = (cmlabs::FilterSpec *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::FilterSpec **)&jarg1; 
  result = (uint64) ((arg1)->time);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FilterSpec_1key_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::FilterSpec *arg1 = (cmlabs::FilterSpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::FilterSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->key, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->key[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->key[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FilterSpec_1key_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::FilterSpec *arg1 = (cmlabs::FilterSpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::FilterSpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->key);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FilterSpec_1value_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::FilterSpec *arg1 = (cmlabs::FilterSpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::FilterSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->value, (const char *)arg2, MAXVALUENAMELEN+1-1);
      arg1->value[MAXVALUENAMELEN+1-1] = 0;
    } else {
      arg1->value[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FilterSpec_1value_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::FilterSpec *arg1 = (cmlabs::FilterSpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::FilterSpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->value);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FilterSpec_1toXML(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::FilterSpec *arg1 = (cmlabs::FilterSpec *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::FilterSpec **)&jarg1; 
  result = (arg1)->toXML();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FilterSpec_1fromXML_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::FilterSpec *arg1 = (cmlabs::FilterSpec *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::FilterSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->fromXML((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FilterSpec_1fromXML_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::FilterSpec *arg1 = (cmlabs::FilterSpec *) 0 ;
  XMLNode *arg2 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::FilterSpec **)&jarg1; 
  arg2 = *(XMLNode **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XMLNode & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->fromXML(*arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1FilterSpec(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::FilterSpec *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::FilterSpec *)new cmlabs::FilterSpec();
  *(cmlabs::FilterSpec **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1FilterSpec(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::FilterSpec *arg1 = (cmlabs::FilterSpec *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::FilterSpec **)&jarg1; 
  delete arg1;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1source_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->source = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1source_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  result = (uint32) ((arg1)->source);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1origin_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->origin = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1origin_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  result = (uint32) ((arg1)->origin);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1maxage_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->maxage = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1maxage_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  result = (uint64) ((arg1)->maxage);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1maxcount_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->maxcount = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1maxcount_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  result = (uint32) ((arg1)->maxcount);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1context_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  PsyContext arg2 ;
  PsyContext *argp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  argp2 = *(PsyContext **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyContext");
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->context = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1context_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  PsyContext result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  result =  ((arg1)->context);
  *(PsyContext **)&jresult = new PsyContext((const PsyContext &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1binary_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2) {
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  bool arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  arg2 = jarg2 ? true : false; 
  if (arg1) (arg1)->binary = arg2;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1binary_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  result = (bool) ((arg1)->binary);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1ipHost_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->ipHost = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1ipHost_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  result = (uint32) ((arg1)->ipHost);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1ipPort_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->ipPort = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1ipPort_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  result = (uint16) ((arg1)->ipPort);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1sourceName_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->sourceName, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->sourceName[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->sourceName[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1sourceName_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->sourceName);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1hostName_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->hostName, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->hostName[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->hostName[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1hostName_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->hostName);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1name_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->name, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->name[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->name[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1name_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->name);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1key_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->key, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->key[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->key[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1key_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->key);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1value_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->value, (const char *)arg2, MAXVALUENAMELEN+1-1);
      arg1->value[MAXVALUENAMELEN+1-1] = 0;
    } else {
      arg1->value[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1value_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->value);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1type_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->type, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->type[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->type[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1type_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->type);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1subdir_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->subdir, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->subdir[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->subdir[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1subdir_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->subdir);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1ext_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->ext, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->ext[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->ext[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1ext_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->ext);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1operation_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->operation, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->operation[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->operation[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1operation_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->operation);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1toXML(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  result = (arg1)->toXML();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1fromXML_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->fromXML((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QuerySpec_1fromXML_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  XMLNode *arg2 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  arg2 = *(XMLNode **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XMLNode & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->fromXML(*arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1QuerySpec(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::QuerySpec *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::QuerySpec *)new cmlabs::QuerySpec();
  *(cmlabs::QuerySpec **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1QuerySpec(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::QuerySpec *arg1 = (cmlabs::QuerySpec *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::QuerySpec **)&jarg1; 
  delete arg1;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1source_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->source = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1source_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (uint32) ((arg1)->source);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1origin_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->origin = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1origin_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (uint32) ((arg1)->origin);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1maxage_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->maxage = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1maxage_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (uint64) ((arg1)->maxage);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1maxcount_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->maxcount = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1maxcount_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (uint32) ((arg1)->maxcount);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1type_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  PsyType arg2 ;
  PsyType *argp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  argp2 = *(PsyType **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1type_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result =  ((arg1)->type);
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1context_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  PsyContext arg2 ;
  PsyContext *argp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  argp2 = *(PsyContext **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyContext");
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->context = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1context_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  PsyContext result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result =  ((arg1)->context);
  *(PsyContext **)&jresult = new PsyContext((const PsyContext &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1tag_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->tag = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1tag_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (uint32) ((arg1)->tag);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1name_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->name, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->name[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->name[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1name_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->name);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1key_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->key, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->key[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->key[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1key_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->key);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1keytype_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint8 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  arg2 = (uint8)jarg2; 
  if (arg1) (arg1)->keytype = arg2;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1keytype_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jshort jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (uint8) ((arg1)->keytype);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1from_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->from = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1from_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (uint32) ((arg1)->from);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1to_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->to = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1to_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (uint32) ((arg1)->to);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1startTime_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->startTime = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1startTime_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (uint64) ((arg1)->startTime);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1endTime_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->endTime = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1endTime_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (uint64) ((arg1)->endTime);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1startInt_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  int64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  arg2 = (int64)jarg2; 
  if (arg1) (arg1)->startInt = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1startInt_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  int64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (int64) ((arg1)->startInt);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1endInt_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  int64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  arg2 = (int64)jarg2; 
  if (arg1) (arg1)->endInt = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1endInt_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  int64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (int64) ((arg1)->endInt);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1startFloat_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  float64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  arg2 = (float64)jarg2; 
  if (arg1) (arg1)->startFloat = arg2;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1startFloat_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jdouble jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  float64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (float64) ((arg1)->startFloat);
  jresult = (jdouble)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1endFloat_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  float64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  arg2 = (float64)jarg2; 
  if (arg1) (arg1)->endFloat = arg2;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1endFloat_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jdouble jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  float64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (float64) ((arg1)->endFloat);
  jresult = (jdouble)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1startString_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->startString, (const char *)arg2, MAXVALUENAMELEN+1-1);
      arg1->startString[MAXVALUENAMELEN+1-1] = 0;
    } else {
      arg1->startString[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1startString_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->startString);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1endString_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->endString, (const char *)arg2, MAXVALUENAMELEN+1-1);
      arg1->endString[MAXVALUENAMELEN+1-1] = 0;
    } else {
      arg1->endString[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1endString_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->endString);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1toXML(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  result = (arg1)->toXML();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1fromXML_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->fromXML((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RetrieveSpec_1fromXML_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  XMLNode *arg2 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  arg2 = *(XMLNode **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XMLNode & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->fromXML(*arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1RetrieveSpec(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::RetrieveSpec *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::RetrieveSpec *)new cmlabs::RetrieveSpec();
  *(cmlabs::RetrieveSpec **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1RetrieveSpec(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::RetrieveSpec *arg1 = (cmlabs::RetrieveSpec *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::RetrieveSpec **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MESSAGE_1NON_1GUARANTEED_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(1);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1to_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->to = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1to_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  result = (uint32) ((arg1)->to);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1type_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  PsyType arg2 ;
  PsyType *argp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  argp2 = *(PsyType **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1type_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  result =  ((arg1)->type);
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1context_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  PsyContext arg2 ;
  PsyContext *argp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  argp2 = *(PsyContext **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyContext");
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->context = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1context_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  PsyContext result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  result =  ((arg1)->context);
  *(PsyContext **)&jresult = new PsyContext((const PsyContext &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1contextchange_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  PsyContext arg2 ;
  PsyContext *argp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  argp2 = *(PsyContext **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyContext");
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->contextchange = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1contextchange_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  PsyContext result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  result =  ((arg1)->contextchange);
  *(PsyContext **)&jresult = new PsyContext((const PsyContext &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1tag_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->tag = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1tag_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  result = (uint32) ((arg1)->tag);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1ttl_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->ttl = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1ttl_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  result = (uint64) ((arg1)->ttl);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1policy_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2) {
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  uint8 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  arg2 = (uint8)jarg2; 
  if (arg1) (arg1)->policy = arg2;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1policy_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jshort jresult = 0 ;
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  result = (uint8) ((arg1)->policy);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1contentCount_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->contentCount = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1contentCount_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  result = (uint32) ((arg1)->contentCount);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1name_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->name, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->name[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->name[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1name_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->name);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1content_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->content, (const char *)arg2, MAXCONTENTLEN+1-1);
      arg1->content[MAXCONTENTLEN+1-1] = 0;
    } else {
      arg1->content[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1content_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->content);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1toXML(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  result = (arg1)->toXML();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1fromXML_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->fromXML((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1fromXML_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  XMLNode *arg2 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  arg2 = *(XMLNode **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XMLNode & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->fromXML(*arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1contentFromXML(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  XMLNode *arg2 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  arg2 = *(XMLNode **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XMLNode & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->contentFromXML(*arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PostSpec_1addContentToMsg(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
  jlong jresult = 0 ;
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  cmlabs::DataMessage *arg2 = (cmlabs::DataMessage *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  arg2 = *(cmlabs::DataMessage **)&jarg2; 
  result = (uint32)(arg1)->addContentToMsg(arg2);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1PostSpec(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::PostSpec *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::PostSpec *)new cmlabs::PostSpec();
  *(cmlabs::PostSpec **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1PostSpec(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::PostSpec *arg1 = (cmlabs::PostSpec *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::PostSpec **)&jarg1; 
  delete arg1;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SignalSpec_1type_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::SignalSpec *arg1 = (cmlabs::SignalSpec *) 0 ;
  PsyType arg2 ;
  PsyType *argp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::SignalSpec **)&jarg1; 
  argp2 = *(PsyType **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SignalSpec_1type_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::SignalSpec *arg1 = (cmlabs::SignalSpec *) 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::SignalSpec **)&jarg1; 
  result =  ((arg1)->type);
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SignalSpec_1name_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::SignalSpec *arg1 = (cmlabs::SignalSpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::SignalSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->name, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->name[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->name[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SignalSpec_1name_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::SignalSpec *arg1 = (cmlabs::SignalSpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::SignalSpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->name);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SignalSpec_1toXML(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::SignalSpec *arg1 = (cmlabs::SignalSpec *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::SignalSpec **)&jarg1; 
  result = (arg1)->toXML();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SignalSpec_1fromXML_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::SignalSpec *arg1 = (cmlabs::SignalSpec *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::SignalSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->fromXML((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SignalSpec_1fromXML_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::SignalSpec *arg1 = (cmlabs::SignalSpec *) 0 ;
  XMLNode *arg2 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::SignalSpec **)&jarg1; 
  arg2 = *(XMLNode **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XMLNode & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->fromXML(*arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1SignalSpec(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::SignalSpec *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::SignalSpec *)new cmlabs::SignalSpec();
  *(cmlabs::SignalSpec **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1SignalSpec(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::SignalSpec *arg1 = (cmlabs::SignalSpec *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::SignalSpec **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1reset_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (bool)(arg1)->reset(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1reset_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (bool)(arg1)->reset();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1getFilterSpec(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 arg2 ;
  cmlabs::FilterSpec *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (cmlabs::FilterSpec *)(arg1)->getFilterSpec(arg2);
  *(cmlabs::FilterSpec **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1getRetrieveSpec_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 arg2 ;
  cmlabs::RetrieveSpec *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (cmlabs::RetrieveSpec *)(arg1)->getRetrieveSpec(arg2);
  *(cmlabs::RetrieveSpec **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1getRetrieveSpec_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  char *arg2 = (char *) 0 ;
  cmlabs::RetrieveSpec *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (cmlabs::RetrieveSpec *)(arg1)->getRetrieveSpec((char const *)arg2);
  *(cmlabs::RetrieveSpec **)&jresult = result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1getQuerySpec_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 arg2 ;
  cmlabs::QuerySpec *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (cmlabs::QuerySpec *)(arg1)->getQuerySpec(arg2);
  *(cmlabs::QuerySpec **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1getQuerySpec_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  char *arg2 = (char *) 0 ;
  cmlabs::QuerySpec *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (cmlabs::QuerySpec *)(arg1)->getQuerySpec((char const *)arg2);
  *(cmlabs::QuerySpec **)&jresult = result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1getPostSpecs_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  char *arg2 = (char *) 0 ;
  std::list< cmlabs::PostSpec * > *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (std::list< cmlabs::PostSpec * > *)(arg1)->getPostSpecs((char const *)arg2);
  *(std::list< cmlabs::PostSpec * > **)&jresult = result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1getPostSpecs_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  PsyType arg2 ;
  PsyType *argp2 ;
  std::list< cmlabs::PostSpec * > *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  argp2 = *(PsyType **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return 0;
  }
  arg2 = *argp2; 
  result = (std::list< cmlabs::PostSpec * > *)(arg1)->getPostSpecs(arg2);
  *(std::list< cmlabs::PostSpec * > **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1getPostSpec_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  char *arg2 = (char *) 0 ;
  cmlabs::PostSpec *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (cmlabs::PostSpec *)(arg1)->getPostSpec((char const *)arg2);
  *(cmlabs::PostSpec **)&jresult = result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1getPostSpec_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  PsyType arg2 ;
  PsyType *argp2 ;
  cmlabs::PostSpec *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  argp2 = *(PsyType **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return 0;
  }
  arg2 = *argp2; 
  result = (cmlabs::PostSpec *)(arg1)->getPostSpec(arg2);
  *(cmlabs::PostSpec **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1getPostSpec_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 arg2 ;
  cmlabs::PostSpec *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (cmlabs::PostSpec *)(arg1)->getPostSpec(arg2);
  *(cmlabs::PostSpec **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1getSignalSpec_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  char *arg2 = (char *) 0 ;
  cmlabs::SignalSpec *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (cmlabs::SignalSpec *)(arg1)->getSignalSpec((char const *)arg2);
  *(cmlabs::SignalSpec **)&jresult = result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1getSignalSpec_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  PsyType arg2 ;
  PsyType *argp2 ;
  cmlabs::SignalSpec *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  argp2 = *(PsyType **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return 0;
  }
  arg2 = *argp2; 
  result = (cmlabs::SignalSpec *)(arg1)->getSignalSpec(arg2);
  *(cmlabs::SignalSpec **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1getSignalSpec_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 arg2 ;
  cmlabs::SignalSpec *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (cmlabs::SignalSpec *)(arg1)->getSignalSpec(arg2);
  *(cmlabs::SignalSpec **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1toXML(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (arg1)->toXML();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1size_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->size = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1size_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (uint32) ((arg1)->size);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1cid_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->cid = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1cid_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (uint32) ((arg1)->cid);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1id_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->id = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1id_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (uint32) ((arg1)->id);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1componentID_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->componentID = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1componentID_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (uint32) ((arg1)->componentID);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1interval_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->interval = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1interval_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (uint32) ((arg1)->interval);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1from_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->from = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1from_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (uint32) ((arg1)->from);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1to_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->to = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1to_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (uint32) ((arg1)->to);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1tag_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->tag = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1tag_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (uint32) ((arg1)->tag);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1delay_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->delay = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1delay_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (uint32) ((arg1)->delay);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1grouppolicy_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint8 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint8)jarg2; 
  if (arg1) (arg1)->grouppolicy = arg2;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1grouppolicy_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jshort jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (uint8) ((arg1)->grouppolicy);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1groupparam_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->groupparam = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1groupparam_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (uint32) ((arg1)->groupparam);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1crankID_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->crankID = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1crankID_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (uint16) ((arg1)->crankID);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1group_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->group = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1group_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (uint32) ((arg1)->group);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1type_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  PsyType arg2 ;
  PsyType *argp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  argp2 = *(PsyType **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1type_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result =  ((arg1)->type);
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1context_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  PsyContext arg2 ;
  PsyContext *argp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  argp2 = *(PsyContext **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyContext");
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->context = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1context_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  PsyContext result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result =  ((arg1)->context);
  *(PsyContext **)&jresult = new PsyContext((const PsyContext &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1triggerContext_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  PsyContext arg2 ;
  PsyContext *argp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  argp2 = *(PsyContext **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyContext");
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->triggerContext = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1triggerContext_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  PsyContext result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result =  ((arg1)->triggerContext);
  *(PsyContext **)&jresult = new PsyContext((const PsyContext &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1name_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->name, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->name[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->name[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1name_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (char *)(char *) ((arg1)->name);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1filterCount_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->filterCount = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1filterCount_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (uint16) ((arg1)->filterCount);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1retrieveCount_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->retrieveCount = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1retrieveCount_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (uint16) ((arg1)->retrieveCount);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1queryCount_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->queryCount = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1queryCount_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (uint16) ((arg1)->queryCount);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1postCount_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->postCount = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1postCount_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (uint16) ((arg1)->postCount);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1signalCount_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->signalCount = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TriggerSpec_1signalCount_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  result = (uint16) ((arg1)->signalCount);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1TriggerSpec(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::TriggerSpec *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::TriggerSpec *)new cmlabs::TriggerSpec();
  *(cmlabs::TriggerSpec **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1TriggerSpec(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::TriggerSpec *arg1 = (cmlabs::TriggerSpec *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::TriggerSpec **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1reset(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (bool)(arg1)->reset();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1size_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->size = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1size_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (uint32) ((arg1)->size);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1cid_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->cid = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1cid_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (uint32) ((arg1)->cid);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1componentID_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->componentID = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1componentID_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (uint32) ((arg1)->componentID);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1spaceID_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->spaceID = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1spaceID_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (uint16) ((arg1)->spaceID);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1tag_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->tag = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1tag_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (uint32) ((arg1)->tag);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1type_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint8 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = (uint8)jarg2; 
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1type_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jshort jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (uint8) ((arg1)->type);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1name_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->name, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->name[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->name[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1name_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (char *)(char *) ((arg1)->name);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1logfile_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->logfile, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->logfile[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->logfile[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1logfile_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (char *)(char *) ((arg1)->logfile);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1verbose_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint8 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = (uint8)jarg2; 
  if (arg1) (arg1)->verbose = arg2;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1verbose_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jshort jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (uint8) ((arg1)->verbose);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1debug_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint8 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = (uint8)jarg2; 
  if (arg1) (arg1)->debug = arg2;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1debug_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jshort jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (uint8) ((arg1)->debug);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1migration_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint8 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = (uint8)jarg2; 
  if (arg1) (arg1)->migration = arg2;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1migration_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jshort jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (uint8) ((arg1)->migration);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1priority_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint8 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = (uint8)jarg2; 
  if (arg1) (arg1)->priority = arg2;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1priority_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jshort jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (uint8) ((arg1)->priority);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1function_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->function, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->function[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->function[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1function_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (char *)(char *) ((arg1)->function);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1root_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->root, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->root[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->root[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1root_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (char *)(char *) ((arg1)->root);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1rotate_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  bool arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = jarg2 ? true : false; 
  if (arg1) (arg1)->rotate = arg2;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1rotate_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (bool) ((arg1)->rotate);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1consoleOutput_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint8 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = (uint8)jarg2; 
  if (arg1) (arg1)->consoleOutput = arg2;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1consoleOutput_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jshort jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (uint8) ((arg1)->consoleOutput);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1autoRestart_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint8 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = (uint8)jarg2; 
  if (arg1) (arg1)->autoRestart = arg2;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1autoRestart_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jshort jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (uint8) ((arg1)->autoRestart);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1subdir_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->subdir, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->subdir[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->subdir[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1subdir_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (char *)(char *) ((arg1)->subdir);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1extension_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->extension, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->extension[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->extension[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1extension_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (char *)(char *) ((arg1)->extension);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1base_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->base, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->base[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->base[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1base_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (char *)(char *) ((arg1)->base);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1keys_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->keys, (const char *)arg2, MAXVALUENAMELEN+1-1);
      arg1->keys[MAXVALUENAMELEN+1-1] = 0;
    } else {
      arg1->keys[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1keys_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (char *)(char *) ((arg1)->keys);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1value_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->value, (const char *)arg2, MAXVALUENAMELEN+1-1);
      arg1->value[MAXVALUENAMELEN+1-1] = 0;
    } else {
      arg1->value[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1value_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (char *)(char *) ((arg1)->value);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1operation_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->operation, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->operation[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->operation[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1operation_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (char *)(char *) ((arg1)->operation);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1timeout_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->timeout = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1timeout_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (uint32) ((arg1)->timeout);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1maxcount_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->maxcount = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1maxcount_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (uint32) ((arg1)->maxcount);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1maxsize_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->maxsize = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1maxsize_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (uint64) ((arg1)->maxsize);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1interval_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->interval = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1interval_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (uint32) ((arg1)->interval);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1cmdline_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->cmdline, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->cmdline[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->cmdline[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1cmdline_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (char *)(char *) ((arg1)->cmdline);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1setup_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->setup, (const char *)arg2, 1024*1024-1);
      arg1->setup[1024*1024-1] = 0;
    } else {
      arg1->setup[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSetup_1setup_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  result = (char *)(char *) ((arg1)->setup);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1ComponentSetup(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::ComponentSetup *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::ComponentSetup *)new cmlabs::ComponentSetup();
  *(cmlabs::ComponentSetup **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1ComponentSetup(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::ComponentSetup *arg1 = (cmlabs::ComponentSetup *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::ComponentSetup **)&jarg1; 
  delete arg1;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_CustomView_1compID_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::CustomView *arg1 = (cmlabs::CustomView *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::CustomView **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->compID = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_CustomView_1compID_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::CustomView *arg1 = (cmlabs::CustomView *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::CustomView **)&jarg1; 
  result = (uint32) ((arg1)->compID);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_CustomView_1name_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::CustomView *arg1 = (cmlabs::CustomView *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::CustomView **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->name, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->name[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->name[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_CustomView_1name_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::CustomView *arg1 = (cmlabs::CustomView *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::CustomView **)&jarg1; 
  result = (char *)(char *) ((arg1)->name);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_CustomView_1templateURL_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::CustomView *arg1 = (cmlabs::CustomView *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::CustomView **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->templateURL, (const char *)arg2, MAXKEYNAMELEN+1-1);
      arg1->templateURL[MAXKEYNAMELEN+1-1] = 0;
    } else {
      arg1->templateURL[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_CustomView_1templateURL_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::CustomView *arg1 = (cmlabs::CustomView *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::CustomView **)&jarg1; 
  result = (char *)(char *) ((arg1)->templateURL);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1CustomView(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::CustomView *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::CustomView *)new cmlabs::CustomView();
  *(cmlabs::CustomView **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1CustomView(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::CustomView *arg1 = (cmlabs::CustomView *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::CustomView **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1ComponentSpec(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::ComponentSpec *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::ComponentSpec *)new cmlabs::ComponentSpec();
  *(cmlabs::ComponentSpec **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1ComponentSpec(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::ComponentSpec *arg1 = (cmlabs::ComponentSpec *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::ComponentSpec **)&jarg1; 
  delete arg1;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSpec_1setup_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
  cmlabs::ComponentSpec *arg1 = (cmlabs::ComponentSpec *) 0 ;
  cmlabs::ComponentSetup *arg2 = (cmlabs::ComponentSetup *) 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::ComponentSpec **)&jarg1; 
  arg2 = *(cmlabs::ComponentSetup **)&jarg2; 
  if (arg1) (arg1)->setup = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSpec_1setup_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::ComponentSpec *arg1 = (cmlabs::ComponentSpec *) 0 ;
  cmlabs::ComponentSetup *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSpec **)&jarg1; 
  result = (cmlabs::ComponentSetup *) ((arg1)->setup);
  *(cmlabs::ComponentSetup **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSpec_1triggers_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::ComponentSpec *arg1 = (cmlabs::ComponentSpec *) 0 ;
  std::list< cmlabs::TriggerSpec * > *arg2 = (std::list< cmlabs::TriggerSpec * > *) 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSpec **)&jarg1; 
  arg2 = *(std::list< cmlabs::TriggerSpec * > **)&jarg2; 
  if (arg1) (arg1)->triggers = *arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSpec_1triggers_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::ComponentSpec *arg1 = (cmlabs::ComponentSpec *) 0 ;
  std::list< cmlabs::TriggerSpec * > *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSpec **)&jarg1; 
  result = (std::list< cmlabs::TriggerSpec * > *)& ((arg1)->triggers);
  *(std::list< cmlabs::TriggerSpec * > **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSpec_1customViews_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::ComponentSpec *arg1 = (cmlabs::ComponentSpec *) 0 ;
  std::list< cmlabs::CustomView > *arg2 = (std::list< cmlabs::CustomView > *) 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSpec **)&jarg1; 
  arg2 = *(std::list< cmlabs::CustomView > **)&jarg2; 
  if (arg1) (arg1)->customViews = *arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ComponentSpec_1customViews_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::ComponentSpec *arg1 = (cmlabs::ComponentSpec *) 0 ;
  std::list< cmlabs::CustomView > *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ComponentSpec **)&jarg1; 
  result = (std::list< cmlabs::CustomView > *)& ((arg1)->customViews);
  *(std::list< cmlabs::CustomView > **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_CRANKAPI_1FAILED_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(1);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_CRANKAPI_1INUSE_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(2);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_CRANKAPI_1RUNNING_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(3);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_CRANKAPI_1IDLE_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(4);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_POST_1FAILED_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(-1);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_POST_1NOSPEC_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(-2);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_POST_1OUTOFCONTEXT_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(-3);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QUERY_1FAILED_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(1);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QUERY_1TIMEOUT_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(2);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QUERY_1NAME_1UNKNOWN_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(3);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QUERY_1COMPONENT_1UNKNOWN_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(4);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QUERY_1QUERYFAILED_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(5);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QUERY_1SUCCESS_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(6);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QUERY_1NOT_1AVAILABLE_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(7);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_QUERY_1NOT_1REACHABLE_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(8);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_LOG_1COMPONENT_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(8);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1SYSTEM_1READY_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  PsyType arg1 ;
  PsyType *argp1 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg1 = *argp1; 
  cmlabs::PsyAPI::CTRL_SYSTEM_READY = arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1SYSTEM_1READY_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  result = cmlabs::PsyAPI::CTRL_SYSTEM_READY;
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1PROCESS_1INITIALISE_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  PsyType arg1 ;
  PsyType *argp1 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg1 = *argp1; 
  cmlabs::PsyAPI::CTRL_PROCESS_INITIALISE = arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1PROCESS_1INITIALISE_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  result = cmlabs::PsyAPI::CTRL_PROCESS_INITIALISE;
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1PROCESS_1GREETING_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  PsyType arg1 ;
  PsyType *argp1 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg1 = *argp1; 
  cmlabs::PsyAPI::CTRL_PROCESS_GREETING = arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1PROCESS_1GREETING_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  result = cmlabs::PsyAPI::CTRL_PROCESS_GREETING;
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1PROCESS_1SHUTDOWN_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  PsyType arg1 ;
  PsyType *argp1 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg1 = *argp1; 
  cmlabs::PsyAPI::CTRL_PROCESS_SHUTDOWN = arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1PROCESS_1SHUTDOWN_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  result = cmlabs::PsyAPI::CTRL_PROCESS_SHUTDOWN;
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1CONTEXT_1CHANGE_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  PsyType arg1 ;
  PsyType *argp1 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg1 = *argp1; 
  cmlabs::PsyAPI::CTRL_CONTEXT_CHANGE = arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1CONTEXT_1CHANGE_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  result = cmlabs::PsyAPI::CTRL_CONTEXT_CHANGE;
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1SYSTEM_1SHUTDOWN_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  PsyType arg1 ;
  PsyType *argp1 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg1 = *argp1; 
  cmlabs::PsyAPI::CTRL_SYSTEM_SHUTDOWN = arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1SYSTEM_1SHUTDOWN_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  result = cmlabs::PsyAPI::CTRL_SYSTEM_SHUTDOWN;
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1SYSTEM_1SHUTTINGDOWN_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  PsyType arg1 ;
  PsyType *argp1 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg1 = *argp1; 
  cmlabs::PsyAPI::CTRL_SYSTEM_SHUTTINGDOWN = arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1SYSTEM_1SHUTTINGDOWN_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  result = cmlabs::PsyAPI::CTRL_SYSTEM_SHUTTINGDOWN;
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1TRIGGER_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  PsyType arg1 ;
  PsyType *argp1 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg1 = *argp1; 
  cmlabs::PsyAPI::CTRL_TRIGGER = arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1TRIGGER_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  result = cmlabs::PsyAPI::CTRL_TRIGGER;
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1QUERY_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  PsyType arg1 ;
  PsyType *argp1 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg1 = *argp1; 
  cmlabs::PsyAPI::CTRL_QUERY = arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1QUERY_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  result = cmlabs::PsyAPI::CTRL_QUERY;
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1QUERY_1REPLY_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  PsyType arg1 ;
  PsyType *argp1 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg1 = *argp1; 
  cmlabs::PsyAPI::CTRL_QUERY_REPLY = arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1QUERY_1REPLY_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  result = cmlabs::PsyAPI::CTRL_QUERY_REPLY;
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1PULLCOMPONENTDATA_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  PsyType arg1 ;
  PsyType *argp1 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg1 = *argp1; 
  cmlabs::PsyAPI::CTRL_PULLCOMPONENTDATA = arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1PULLCOMPONENTDATA_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  result = cmlabs::PsyAPI::CTRL_PULLCOMPONENTDATA;
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1CREATECUSTOMPAGE_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  PsyType arg1 ;
  PsyType *argp1 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg1 = *argp1; 
  cmlabs::PsyAPI::CTRL_CREATECUSTOMPAGE = arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1CREATECUSTOMPAGE_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  result = cmlabs::PsyAPI::CTRL_CREATECUSTOMPAGE;
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1ADDSUBSCRIPTION_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  PsyType arg1 ;
  PsyType *argp1 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg1 = *argp1; 
  cmlabs::PsyAPI::CTRL_ADDSUBSCRIPTION = arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1ADDSUBSCRIPTION_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  result = cmlabs::PsyAPI::CTRL_ADDSUBSCRIPTION;
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1RETRIEVESYSTEMIDS_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  PsyType arg1 ;
  PsyType *argp1 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg1 = *argp1; 
  cmlabs::PsyAPI::CTRL_RETRIEVESYSTEMIDS = arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1RETRIEVESYSTEMIDS_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  result = cmlabs::PsyAPI::CTRL_RETRIEVESYSTEMIDS;
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1INTERSYSTEM_1QUERY_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  PsyType arg1 ;
  PsyType *argp1 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg1 = *argp1; 
  cmlabs::PsyAPI::CTRL_INTERSYSTEM_QUERY = arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1INTERSYSTEM_1QUERY_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  result = cmlabs::PsyAPI::CTRL_INTERSYSTEM_QUERY;
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1INTERSYSTEM_1QUERY_1REPLY_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  PsyType arg1 ;
  PsyType *argp1 ;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(PsyType **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg1 = *argp1; 
  cmlabs::PsyAPI::CTRL_INTERSYSTEM_QUERY_REPLY = arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1CTRL_1INTERSYSTEM_1QUERY_1REPLY_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  result = cmlabs::PsyAPI::CTRL_INTERSYSTEM_QUERY_REPLY;
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1PsyAPI(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  jlong jresult = 0 ;
  PsySpace *arg1 = (PsySpace *) 0 ;
  cmlabs::PsyAPI *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(PsySpace **)&jarg1; 
  result = (cmlabs::PsyAPI *)new cmlabs::PsyAPI(arg1);
  *(cmlabs::PsyAPI **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1PsyAPI(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1fromPython(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jlong jresult = 0 ;
  unsigned long long arg1 ;
  cmlabs::PsyAPI *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (unsigned long long)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (unsigned long long)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (cmlabs::PsyAPI *)cmlabs::PsyAPI::fromPython(arg1);
  *(cmlabs::PsyAPI **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1fromPythonAddressOf(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jstring jresult = 0 ;
  unsigned long long arg1 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (unsigned long long)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (unsigned long long)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (char *)cmlabs::PsyAPI::fromPythonAddressOf(arg1);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1setAutoDelete(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  bool arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = jarg2 ? true : false; 
  result = (bool)(arg1)->setAutoDelete(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1isRunning(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  result = (bool)(arg1)->isRunning();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1shouldContinue(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  result = (bool)(arg1)->shouldContinue();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getModuleName_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (uint32)jarg3; 
  result = (bool)(arg1)->getModuleName(arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getCommandlineBasedir(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  result = (arg1)->getCommandlineBasedir();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1setCommandlineBasedir(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->setCommandlineBasedir((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getModuleName_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  result = (arg1)->getModuleName();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getOtherModuleName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jstring jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  uint32 arg2 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (arg1)->getOtherModuleName(arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getInputQueueSize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  result = (uint32)(arg1)->getInputQueueSize();
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1typeToText(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jstring jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  PsyType arg2 ;
  PsyType *argp2 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  argp2 = *(PsyType **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return 0;
  }
  arg2 = *argp2; 
  result = (arg1)->typeToText(arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1contextToText(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jstring jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  PsyContext arg2 ;
  PsyContext *argp2 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  argp2 = *(PsyContext **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyContext");
    return 0;
  }
  arg2 = *argp2; 
  result = (arg1)->contextToText(arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getCurrentScriptLanguage_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (uint32)jarg3; 
  result = (bool)(arg1)->getCurrentScriptLanguage(arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getCurrentScript_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (uint32)jarg3; 
  result = (bool)(arg1)->getCurrentScript(arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getCurrentScriptFilename_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (uint32)jarg3; 
  result = (bool)(arg1)->getCurrentScriptFilename(arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getCurrentScriptLanguage_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  result = (arg1)->getCurrentScriptLanguage();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getCurrentScript_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  result = (arg1)->getCurrentScript();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getCurrentScriptFilename_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  result = (arg1)->getCurrentScriptFilename();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getCurrentPostNames(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  SwigValueWrapper< std::set< std::string > > result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  result = (arg1)->getCurrentPostNames();
  *(std::set< std::string > **)&jresult = new std::set< std::string >((const std::set< std::string > &)result); 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1hasCurrentSignalName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->hasCurrentSignalName((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1hasCurrentQueryName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->hasCurrentQueryName((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1hasCurrentRetrieveName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->hasCurrentRetrieveName((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1hasCurrentPostName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->hasCurrentPostName((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1waitForNewMessage_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jlong jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  uint32 arg2 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (cmlabs::DataMessage *)(arg1)->waitForNewMessage(arg2);
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getCurrentTriggerName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  result = (arg1)->getCurrentTriggerName();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getCurrentTriggerContext(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  PsyContext result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  result = (arg1)->getCurrentTriggerContext();
  *(PsyContext **)&jresult = new PsyContext((const PsyContext &)result); 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1waitForNewMessage_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3) {
  jlong jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  uint32 arg2 ;
  char **arg3 = 0 ;
  char *temp3 = 0 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = 0;
  if (jarg3) {
    temp3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!temp3) return 0;
  }
  arg3 = &temp3;
  result = (cmlabs::DataMessage *)(arg1)->waitForNewMessage(arg2,(char const *&)*arg3);
  *(cmlabs::DataMessage **)&jresult = result; 
  if (arg3 && *arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)*arg3);
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getCurrentMessageReceiveTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  result = (uint64)(arg1)->getCurrentMessageReceiveTime();
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1postOutputMessage_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jobject jarg3_) {
  jint jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  cmlabs::DataMessage *arg3 = (cmlabs::DataMessage *) 0 ;
  int32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg3_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(cmlabs::DataMessage **)&jarg3; 
  result = (int32)(arg1)->postOutputMessage((char const *)arg2,arg3);
  jresult = (jint)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1postOutputMessage_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jint jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  int32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (int32)(arg1)->postOutputMessage((char const *)arg2);
  jresult = (jint)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1postOutputMessage_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  int32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  result = (int32)(arg1)->postOutputMessage();
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1postOutputMessage_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jobject jarg3_) {
  jint jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  PsyType arg2 ;
  cmlabs::DataMessage *arg3 = (cmlabs::DataMessage *) 0 ;
  PsyType *argp2 ;
  int32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg3_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  argp2 = *(PsyType **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return 0;
  }
  arg2 = *argp2; 
  arg3 = *(cmlabs::DataMessage **)&jarg3; 
  result = (int32)(arg1)->postOutputMessage(arg2,arg3);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1postOutputMessage_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jint jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  PsyType arg2 ;
  PsyType *argp2 ;
  int32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  argp2 = *(PsyType **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return 0;
  }
  arg2 = *argp2; 
  result = (int32)(arg1)->postOutputMessage(arg2);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1emitSignal_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jobject jarg3_) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  cmlabs::DataMessage *arg3 = (cmlabs::DataMessage *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg3_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(cmlabs::DataMessage **)&jarg3; 
  result = (bool)(arg1)->emitSignal((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1emitSignal_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->emitSignal((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1waitForSignal_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jobject jarg4) {
  jlong jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 arg3 ;
  uint64 arg4 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (uint32)jarg3; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg4) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg4);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg4, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg4 = 0;
    if (sz > 0) {
      arg4 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg4 = (arg4 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (cmlabs::DataMessage *)(arg1)->waitForSignal((char const *)arg2,arg3,arg4);
  *(cmlabs::DataMessage **)&jresult = result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1waitForSignal_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jlong jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 arg3 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (uint32)jarg3; 
  result = (cmlabs::DataMessage *)(arg1)->waitForSignal((char const *)arg2,arg3);
  *(cmlabs::DataMessage **)&jresult = result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveAllSystemIDs(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  result = (cmlabs::DataMessage *)(arg1)->retrieveAllSystemIDs();
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1addSubscription(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->addSubscription((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1addPsyProbeCustomView(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (bool)(arg1)->addPsyProbeCustomView((char const *)arg2,(char const *)arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1removePsyProbeCustomView(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->removePsyProbeCustomView((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1setPrivateData_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jobject jarg4, jstring jarg5) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  uint64 arg4 ;
  char *arg5 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg4) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg4);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg4, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg4 = 0;
    if (sz > 0) {
      arg4 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg4 = (arg4 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg5 = 0;
  if (jarg5) {
    arg5 = (char *)jenv->GetStringUTFChars(jarg5, 0);
    if (!arg5) return 0;
  }
  result = (bool)(arg1)->setPrivateData((char const *)arg2,(char const *)arg3,arg4,(char const *)arg5);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  if (arg5) jenv->ReleaseStringUTFChars(jarg5, (const char *)arg5);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1setPrivateData_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jobject jarg4) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  uint64 arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg4) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg4);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg4, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg4 = 0;
    if (sz > 0) {
      arg4 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg4 = (arg4 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (bool)(arg1)->setPrivateData((char const *)arg2,(char const *)arg3,arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getPrivateDataSize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jobject jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (uint64)(arg1)->getPrivateDataSize((char const *)arg2);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getPrivateDataCopy(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jstring jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  uint64 *arg3 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(uint64 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint64 & reference is null");
    return 0;
  } 
  result = (char *)(arg1)->getPrivateDataCopy((char const *)arg2,*arg3);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getPrivateData(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jobject jarg4) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  uint64 arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg4) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg4);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg4, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg4 = 0;
    if (sz > 0) {
      arg4 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg4 = (arg4 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (bool)(arg1)->getPrivateData((char const *)arg2,arg3,arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1deletePrivateData(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->deletePrivateData((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jstring jarg4) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  result = (bool)(arg1)->createParameter((char const *)arg2,(char const *)arg3,(char const *)arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (bool)(arg1)->createParameter((char const *)arg2,(char const *)arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jlong jarg4, jlong jarg5) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  uint32 arg4 ;
  uint32 arg5 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (uint32)jarg4; 
  arg5 = (uint32)jarg5; 
  result = (bool)(arg1)->createParameter((char const *)arg2,(char const *)arg3,arg4,arg5);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jobject jarg3_, jstring jarg4) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  std::vector< std::string > arg3 ;
  char *arg4 = (char *) 0 ;
  std::vector< std::string > *argp3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg3_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  argp3 = *(std::vector< std::string > **)&jarg3; 
  if (!argp3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null std::vector< std::string >");
    return 0;
  }
  arg3 = *argp3; 
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  result = (bool)(arg1)->createParameter((char const *)arg2,arg3,(char const *)arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jobject jarg3_) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  std::vector< std::string > arg3 ;
  std::vector< std::string > *argp3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg3_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  argp3 = *(std::vector< std::string > **)&jarg3; 
  if (!argp3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null std::vector< std::string >");
    return 0;
  }
  arg3 = *argp3; 
  result = (bool)(arg1)->createParameter((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jlong jarg4, jlong jarg5) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  int64 *arg3 = (int64 *) 0 ;
  uint32 arg4 ;
  uint32 arg5 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(int64 **)&jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = (uint32)jarg5; 
  result = (bool)(arg1)->createParameter((char const *)arg2,arg3,arg4,arg5);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_16(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jobject jarg3_, jlong jarg4) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  std::vector< std::string > arg3 ;
  int64 arg4 ;
  std::vector< std::string > *argp3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg3_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  argp3 = *(std::vector< std::string > **)&jarg3; 
  if (!argp3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null std::vector< std::string >");
    return 0;
  }
  arg3 = *argp3; 
  arg4 = (int64)jarg4; 
  result = (bool)(arg1)->createParameter((char const *)arg2,arg3,arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_17(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jobject jarg3_, jlong jarg4) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  std::vector< int64 > arg3 ;
  int64 arg4 ;
  std::vector< int64 > *argp3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg3_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  argp3 = *(std::vector< int64 > **)&jarg3; 
  if (!argp3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null std::vector< int64 >");
    return 0;
  }
  arg3 = *argp3; 
  arg4 = (int64)jarg4; 
  result = (bool)(arg1)->createParameter((char const *)arg2,arg3,arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_18(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jobject jarg3_) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  std::vector< int64 > arg3 ;
  std::vector< int64 > *argp3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg3_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  argp3 = *(std::vector< int64 > **)&jarg3; 
  if (!argp3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null std::vector< int64 >");
    return 0;
  }
  arg3 = *argp3; 
  result = (bool)(arg1)->createParameter((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_19(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jlong jarg4, jlong jarg5) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  float64 *arg3 = (float64 *) 0 ;
  uint32 arg4 ;
  uint32 arg5 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(float64 **)&jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = (uint32)jarg5; 
  result = (bool)(arg1)->createParameter((char const *)arg2,arg3,arg4,arg5);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_110(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jobject jarg3_, jdouble jarg4) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  std::vector< std::string > arg3 ;
  float64 arg4 ;
  std::vector< std::string > *argp3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg3_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  argp3 = *(std::vector< std::string > **)&jarg3; 
  if (!argp3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null std::vector< std::string >");
    return 0;
  }
  arg3 = *argp3; 
  arg4 = (float64)jarg4; 
  result = (bool)(arg1)->createParameter((char const *)arg2,arg3,arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_111(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jobject jarg3_, jdouble jarg4) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  std::vector< float64 > arg3 ;
  float64 arg4 ;
  std::vector< float64 > *argp3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg3_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  argp3 = *(std::vector< float64 > **)&jarg3; 
  if (!argp3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null std::vector< float64 >");
    return 0;
  }
  arg3 = *argp3; 
  arg4 = (float64)jarg4; 
  result = (bool)(arg1)->createParameter((char const *)arg2,arg3,arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_112(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jobject jarg3_) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  std::vector< float64 > arg3 ;
  std::vector< float64 > *argp3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg3_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  argp3 = *(std::vector< float64 > **)&jarg3; 
  if (!argp3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null std::vector< float64 >");
    return 0;
  }
  arg3 = *argp3; 
  result = (bool)(arg1)->createParameter((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_113(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jlong jarg4, jlong jarg5, jlong jarg6) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  int64 arg3 ;
  int64 arg4 ;
  int64 arg5 ;
  int64 arg6 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (int64)jarg3; 
  arg4 = (int64)jarg4; 
  arg5 = (int64)jarg5; 
  arg6 = (int64)jarg6; 
  result = (bool)(arg1)->createParameter((char const *)arg2,arg3,arg4,arg5,arg6);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_114(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jlong jarg4, jlong jarg5) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  int64 arg3 ;
  int64 arg4 ;
  int64 arg5 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (int64)jarg3; 
  arg4 = (int64)jarg4; 
  arg5 = (int64)jarg5; 
  result = (bool)(arg1)->createParameter((char const *)arg2,arg3,arg4,arg5);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_115(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jlong jarg4) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  int64 arg3 ;
  int64 arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (int64)jarg3; 
  arg4 = (int64)jarg4; 
  result = (bool)(arg1)->createParameter((char const *)arg2,arg3,arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_116(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  int64 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (int64)jarg3; 
  result = (bool)(arg1)->createParameter((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_117(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jdouble jarg3, jdouble jarg4, jdouble jarg5, jdouble jarg6) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  float64 arg3 ;
  float64 arg4 ;
  float64 arg5 ;
  float64 arg6 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (float64)jarg3; 
  arg4 = (float64)jarg4; 
  arg5 = (float64)jarg5; 
  arg6 = (float64)jarg6; 
  result = (bool)(arg1)->createParameter((char const *)arg2,arg3,arg4,arg5,arg6);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_118(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jdouble jarg3, jdouble jarg4, jdouble jarg5) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  float64 arg3 ;
  float64 arg4 ;
  float64 arg5 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (float64)jarg3; 
  arg4 = (float64)jarg4; 
  arg5 = (float64)jarg5; 
  result = (bool)(arg1)->createParameter((char const *)arg2,arg3,arg4,arg5);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_119(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jdouble jarg3, jdouble jarg4) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  float64 arg3 ;
  float64 arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (float64)jarg3; 
  arg4 = (float64)jarg4; 
  result = (bool)(arg1)->createParameter((char const *)arg2,arg3,arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1createParameter_1_1SWIG_120(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jdouble jarg3) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  float64 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (float64)jarg3; 
  result = (bool)(arg1)->createParameter((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1hasParameter(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->hasParameter((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1deleteParameter(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->deleteParameter((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getParameterDataType(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (uint8)(arg1)->getParameterDataType((char const *)arg2);
  jresult = (jshort)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getParameterValueSize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (uint32)(arg1)->getParameterValueSize((char const *)arg2);
  jresult = (jlong)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getParameter_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jlong jarg4) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  uint32 arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (uint32)jarg4; 
  result = (bool)(arg1)->getParameter((char const *)arg2,arg3,arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getParameterString(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jstring jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->getParameterString((char const *)arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getParameterAsBool(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->getParameterAsBool((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getParameterInt(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  int64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (int64)(arg1)->getParameterInt((char const *)arg2);
  jresult = (jlong)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getParameterFloat(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jdouble jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  float64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (float64)(arg1)->getParameterFloat((char const *)arg2);
  jresult = (jdouble)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getParameter_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  int64 *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(int64 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "int64 & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->getParameter((char const *)arg2,*arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1getParameter_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  float64 *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(float64 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "float64 & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->getParameter((char const *)arg2,*arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1setParameter_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (bool)(arg1)->setParameter((char const *)arg2,(char const *)arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1setParameter_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  int64 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (int64)jarg3; 
  result = (bool)(arg1)->setParameter((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1setParameter_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jdouble jarg3) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  float64 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (float64)jarg3; 
  result = (bool)(arg1)->setParameter((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1resetParameter(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->resetParameter((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1tweakParameter(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jint jarg3) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char *arg2 = (char *) 0 ;
  int32 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (int32)jarg3; 
  result = (bool)(arg1)->tweakParameter((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieve_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4, jlong jarg5, jlong jarg6) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  uint32 arg4 ;
  uint32 arg5 ;
  uint32 arg6 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (uint32)jarg4; 
  arg5 = (uint32)jarg5; 
  arg6 = (uint32)jarg6; 
  result = (uint8)(arg1)->retrieve(*arg2,(char const *)arg3,arg4,arg5,arg6);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieve_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4, jlong jarg5) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  uint32 arg4 ;
  uint32 arg5 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (uint32)jarg4; 
  arg5 = (uint32)jarg5; 
  result = (uint8)(arg1)->retrieve(*arg2,(char const *)arg3,arg4,arg5);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieve_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  uint32 arg4 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (uint32)jarg4; 
  result = (uint8)(arg1)->retrieve(*arg2,(char const *)arg3,arg4);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieve_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (uint8)(arg1)->retrieve(*arg2,(char const *)arg3);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveTimeParam_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jobject jarg4, jobject jarg5, jlong jarg6, jlong jarg7, jlong jarg8) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  uint64 arg4 ;
  uint64 arg5 ;
  uint32 arg6 ;
  uint32 arg7 ;
  uint32 arg8 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg4) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg4);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg4, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg4 = 0;
    if (sz > 0) {
      arg4 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg4 = (arg4 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg5) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg5);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg5, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg5 = 0;
    if (sz > 0) {
      arg5 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg5 = (arg5 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg6 = (uint32)jarg6; 
  arg7 = (uint32)jarg7; 
  arg8 = (uint32)jarg8; 
  result = (uint8)(arg1)->retrieveTimeParam(*arg2,(char const *)arg3,arg4,arg5,arg6,arg7,arg8);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveTimeParam_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jobject jarg4, jobject jarg5, jlong jarg6, jlong jarg7) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  uint64 arg4 ;
  uint64 arg5 ;
  uint32 arg6 ;
  uint32 arg7 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg4) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg4);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg4, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg4 = 0;
    if (sz > 0) {
      arg4 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg4 = (arg4 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg5) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg5);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg5, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg5 = 0;
    if (sz > 0) {
      arg5 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg5 = (arg5 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg6 = (uint32)jarg6; 
  arg7 = (uint32)jarg7; 
  result = (uint8)(arg1)->retrieveTimeParam(*arg2,(char const *)arg3,arg4,arg5,arg6,arg7);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveTimeParam_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jobject jarg4, jobject jarg5, jlong jarg6) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  uint64 arg4 ;
  uint64 arg5 ;
  uint32 arg6 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg4) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg4);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg4, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg4 = 0;
    if (sz > 0) {
      arg4 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg4 = (arg4 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg5) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg5);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg5, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg5 = 0;
    if (sz > 0) {
      arg5 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg5 = (arg5 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg6 = (uint32)jarg6; 
  result = (uint8)(arg1)->retrieveTimeParam(*arg2,(char const *)arg3,arg4,arg5,arg6);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveTimeParam_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jobject jarg4, jobject jarg5) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  uint64 arg4 ;
  uint64 arg5 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg4) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg4);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg4, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg4 = 0;
    if (sz > 0) {
      arg4 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg4 = (arg4 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg5) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg5);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg5, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg5 = 0;
    if (sz > 0) {
      arg5 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg5 = (arg5 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (uint8)(arg1)->retrieveTimeParam(*arg2,(char const *)arg3,arg4,arg5);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveTimeParam_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jobject jarg4) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  uint64 arg4 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg4) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg4);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg4, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg4 = 0;
    if (sz > 0) {
      arg4 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg4 = (arg4 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (uint8)(arg1)->retrieveTimeParam(*arg2,(char const *)arg3,arg4);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveStringParam_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jstring jarg4, jstring jarg5, jlong jarg6, jlong jarg7, jlong jarg8) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  uint32 arg6 ;
  uint32 arg7 ;
  uint32 arg8 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  arg5 = 0;
  if (jarg5) {
    arg5 = (char *)jenv->GetStringUTFChars(jarg5, 0);
    if (!arg5) return 0;
  }
  arg6 = (uint32)jarg6; 
  arg7 = (uint32)jarg7; 
  arg8 = (uint32)jarg8; 
  result = (uint8)(arg1)->retrieveStringParam(*arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,arg6,arg7,arg8);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  if (arg5) jenv->ReleaseStringUTFChars(jarg5, (const char *)arg5);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveStringParam_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jstring jarg4, jstring jarg5, jlong jarg6, jlong jarg7) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  uint32 arg6 ;
  uint32 arg7 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  arg5 = 0;
  if (jarg5) {
    arg5 = (char *)jenv->GetStringUTFChars(jarg5, 0);
    if (!arg5) return 0;
  }
  arg6 = (uint32)jarg6; 
  arg7 = (uint32)jarg7; 
  result = (uint8)(arg1)->retrieveStringParam(*arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,arg6,arg7);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  if (arg5) jenv->ReleaseStringUTFChars(jarg5, (const char *)arg5);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveStringParam_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jstring jarg4, jstring jarg5, jlong jarg6) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  uint32 arg6 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  arg5 = 0;
  if (jarg5) {
    arg5 = (char *)jenv->GetStringUTFChars(jarg5, 0);
    if (!arg5) return 0;
  }
  arg6 = (uint32)jarg6; 
  result = (uint8)(arg1)->retrieveStringParam(*arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,arg6);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  if (arg5) jenv->ReleaseStringUTFChars(jarg5, (const char *)arg5);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveStringParam_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jstring jarg4, jstring jarg5) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  arg5 = 0;
  if (jarg5) {
    arg5 = (char *)jenv->GetStringUTFChars(jarg5, 0);
    if (!arg5) return 0;
  }
  result = (uint8)(arg1)->retrieveStringParam(*arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  if (arg5) jenv->ReleaseStringUTFChars(jarg5, (const char *)arg5);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveStringParam_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jstring jarg4) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  result = (uint8)(arg1)->retrieveStringParam(*arg2,(char const *)arg3,(char const *)arg4);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveIntegerParam_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4, jlong jarg5, jlong jarg6, jlong jarg7, jlong jarg8) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  int64 arg4 ;
  int64 arg5 ;
  uint32 arg6 ;
  uint32 arg7 ;
  uint32 arg8 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (int64)jarg4; 
  arg5 = (int64)jarg5; 
  arg6 = (uint32)jarg6; 
  arg7 = (uint32)jarg7; 
  arg8 = (uint32)jarg8; 
  result = (uint8)(arg1)->retrieveIntegerParam(*arg2,(char const *)arg3,arg4,arg5,arg6,arg7,arg8);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveIntegerParam_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4, jlong jarg5, jlong jarg6, jlong jarg7) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  int64 arg4 ;
  int64 arg5 ;
  uint32 arg6 ;
  uint32 arg7 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (int64)jarg4; 
  arg5 = (int64)jarg5; 
  arg6 = (uint32)jarg6; 
  arg7 = (uint32)jarg7; 
  result = (uint8)(arg1)->retrieveIntegerParam(*arg2,(char const *)arg3,arg4,arg5,arg6,arg7);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveIntegerParam_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4, jlong jarg5, jlong jarg6) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  int64 arg4 ;
  int64 arg5 ;
  uint32 arg6 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (int64)jarg4; 
  arg5 = (int64)jarg5; 
  arg6 = (uint32)jarg6; 
  result = (uint8)(arg1)->retrieveIntegerParam(*arg2,(char const *)arg3,arg4,arg5,arg6);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveIntegerParam_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4, jlong jarg5) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  int64 arg4 ;
  int64 arg5 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (int64)jarg4; 
  arg5 = (int64)jarg5; 
  result = (uint8)(arg1)->retrieveIntegerParam(*arg2,(char const *)arg3,arg4,arg5);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveIntegerParam_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  int64 arg4 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (int64)jarg4; 
  result = (uint8)(arg1)->retrieveIntegerParam(*arg2,(char const *)arg3,arg4);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveFloatParam_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jdouble jarg4, jdouble jarg5, jlong jarg6, jlong jarg7, jlong jarg8) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  float64 arg4 ;
  float64 arg5 ;
  uint32 arg6 ;
  uint32 arg7 ;
  uint32 arg8 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (float64)jarg4; 
  arg5 = (float64)jarg5; 
  arg6 = (uint32)jarg6; 
  arg7 = (uint32)jarg7; 
  arg8 = (uint32)jarg8; 
  result = (uint8)(arg1)->retrieveFloatParam(*arg2,(char const *)arg3,arg4,arg5,arg6,arg7,arg8);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveFloatParam_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jdouble jarg4, jdouble jarg5, jlong jarg6, jlong jarg7) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  float64 arg4 ;
  float64 arg5 ;
  uint32 arg6 ;
  uint32 arg7 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (float64)jarg4; 
  arg5 = (float64)jarg5; 
  arg6 = (uint32)jarg6; 
  arg7 = (uint32)jarg7; 
  result = (uint8)(arg1)->retrieveFloatParam(*arg2,(char const *)arg3,arg4,arg5,arg6,arg7);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveFloatParam_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jdouble jarg4, jdouble jarg5, jlong jarg6) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  float64 arg4 ;
  float64 arg5 ;
  uint32 arg6 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (float64)jarg4; 
  arg5 = (float64)jarg5; 
  arg6 = (uint32)jarg6; 
  result = (uint8)(arg1)->retrieveFloatParam(*arg2,(char const *)arg3,arg4,arg5,arg6);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveFloatParam_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jdouble jarg4, jdouble jarg5) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  float64 arg4 ;
  float64 arg5 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (float64)jarg4; 
  arg5 = (float64)jarg5; 
  result = (uint8)(arg1)->retrieveFloatParam(*arg2,(char const *)arg3,arg4,arg5);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieveFloatParam_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jdouble jarg4) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  char *arg3 = (char *) 0 ;
  float64 arg4 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (float64)jarg4; 
  result = (uint8)(arg1)->retrieveFloatParam(*arg2,(char const *)arg3,arg4);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieve_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jobject jarg3_, jlong jarg4) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  cmlabs::RetrieveSpec *arg3 = (cmlabs::RetrieveSpec *) 0 ;
  uint32 arg4 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg3_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = *(cmlabs::RetrieveSpec **)&jarg3; 
  arg4 = (uint32)jarg4; 
  result = (uint8)(arg1)->retrieve(*arg2,arg3,arg4);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1retrieve_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jobject jarg3_) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  std::list< cmlabs::DataMessage * > *arg2 = 0 ;
  cmlabs::RetrieveSpec *arg3 = (cmlabs::RetrieveSpec *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg3_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(std::list< cmlabs::DataMessage * > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::list< cmlabs::DataMessage * > & reference is null");
    return 0;
  } 
  arg3 = *(cmlabs::RetrieveSpec **)&jarg3; 
  result = (uint8)(arg1)->retrieve(*arg2,arg3);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1queryCatalog_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jstring jarg4, jstring jarg5, jstring jarg6, jstring jarg7, jlong jarg8, jlong jarg9) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char **arg2 = (char **) 0 ;
  uint32 *arg3 = 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  char *arg6 = (char *) 0 ;
  char *arg7 = (char *) 0 ;
  uint32 arg8 ;
  uint32 arg9 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(char ***)&jarg2; 
  arg3 = *(uint32 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  arg5 = 0;
  if (jarg5) {
    arg5 = (char *)jenv->GetStringUTFChars(jarg5, 0);
    if (!arg5) return 0;
  }
  arg6 = 0;
  if (jarg6) {
    arg6 = (char *)jenv->GetStringUTFChars(jarg6, 0);
    if (!arg6) return 0;
  }
  arg7 = 0;
  if (jarg7) {
    arg7 = (char *)jenv->GetStringUTFChars(jarg7, 0);
    if (!arg7) return 0;
  }
  arg8 = (uint32)jarg8; 
  arg9 = (uint32)jarg9; 
  result = (uint8)(arg1)->queryCatalog(arg2,*arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,arg8,arg9);
  jresult = (jshort)result; 
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  if (arg5) jenv->ReleaseStringUTFChars(jarg5, (const char *)arg5);
  if (arg6) jenv->ReleaseStringUTFChars(jarg6, (const char *)arg6);
  if (arg7) jenv->ReleaseStringUTFChars(jarg7, (const char *)arg7);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1queryCatalog_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jstring jarg4, jstring jarg5, jstring jarg6, jstring jarg7, jlong jarg8) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char **arg2 = (char **) 0 ;
  uint32 *arg3 = 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  char *arg6 = (char *) 0 ;
  char *arg7 = (char *) 0 ;
  uint32 arg8 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(char ***)&jarg2; 
  arg3 = *(uint32 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  arg5 = 0;
  if (jarg5) {
    arg5 = (char *)jenv->GetStringUTFChars(jarg5, 0);
    if (!arg5) return 0;
  }
  arg6 = 0;
  if (jarg6) {
    arg6 = (char *)jenv->GetStringUTFChars(jarg6, 0);
    if (!arg6) return 0;
  }
  arg7 = 0;
  if (jarg7) {
    arg7 = (char *)jenv->GetStringUTFChars(jarg7, 0);
    if (!arg7) return 0;
  }
  arg8 = (uint32)jarg8; 
  result = (uint8)(arg1)->queryCatalog(arg2,*arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,arg8);
  jresult = (jshort)result; 
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  if (arg5) jenv->ReleaseStringUTFChars(jarg5, (const char *)arg5);
  if (arg6) jenv->ReleaseStringUTFChars(jarg6, (const char *)arg6);
  if (arg7) jenv->ReleaseStringUTFChars(jarg7, (const char *)arg7);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1queryCatalog_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jstring jarg4, jstring jarg5, jstring jarg6, jstring jarg7) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char **arg2 = (char **) 0 ;
  uint32 *arg3 = 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  char *arg6 = (char *) 0 ;
  char *arg7 = (char *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(char ***)&jarg2; 
  arg3 = *(uint32 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  arg5 = 0;
  if (jarg5) {
    arg5 = (char *)jenv->GetStringUTFChars(jarg5, 0);
    if (!arg5) return 0;
  }
  arg6 = 0;
  if (jarg6) {
    arg6 = (char *)jenv->GetStringUTFChars(jarg6, 0);
    if (!arg6) return 0;
  }
  arg7 = 0;
  if (jarg7) {
    arg7 = (char *)jenv->GetStringUTFChars(jarg7, 0);
    if (!arg7) return 0;
  }
  result = (uint8)(arg1)->queryCatalog(arg2,*arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7);
  jresult = (jshort)result; 
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  if (arg5) jenv->ReleaseStringUTFChars(jarg5, (const char *)arg5);
  if (arg6) jenv->ReleaseStringUTFChars(jarg6, (const char *)arg6);
  if (arg7) jenv->ReleaseStringUTFChars(jarg7, (const char *)arg7);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1queryCatalog_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jstring jarg4, jstring jarg5, jstring jarg6) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char **arg2 = (char **) 0 ;
  uint32 *arg3 = 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  char *arg6 = (char *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(char ***)&jarg2; 
  arg3 = *(uint32 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  arg5 = 0;
  if (jarg5) {
    arg5 = (char *)jenv->GetStringUTFChars(jarg5, 0);
    if (!arg5) return 0;
  }
  arg6 = 0;
  if (jarg6) {
    arg6 = (char *)jenv->GetStringUTFChars(jarg6, 0);
    if (!arg6) return 0;
  }
  result = (uint8)(arg1)->queryCatalog(arg2,*arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6);
  jresult = (jshort)result; 
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  if (arg5) jenv->ReleaseStringUTFChars(jarg5, (const char *)arg5);
  if (arg6) jenv->ReleaseStringUTFChars(jarg6, (const char *)arg6);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1queryCatalog_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jstring jarg4, jstring jarg5) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  char **arg2 = (char **) 0 ;
  uint32 *arg3 = 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(char ***)&jarg2; 
  arg3 = *(uint32 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  arg5 = 0;
  if (jarg5) {
    arg5 = (char *)jenv->GetStringUTFChars(jarg5, 0);
    if (!arg5) return 0;
  }
  result = (uint8)(arg1)->queryCatalog(arg2,*arg3,(char const *)arg4,(char const *)arg5);
  jresult = (jshort)result; 
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  if (arg5) jenv->ReleaseStringUTFChars(jarg5, (const char *)arg5);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1queryCatalog_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4, jobject jarg4_, jlong jarg5) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  cmlabs::DataMessage **arg2 = (cmlabs::DataMessage **) 0 ;
  char *arg3 = (char *) 0 ;
  cmlabs::DataMessage *arg4 = (cmlabs::DataMessage *) 0 ;
  uint32 arg5 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg4_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(cmlabs::DataMessage ***)&jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(cmlabs::DataMessage **)&jarg4; 
  arg5 = (uint32)jarg5; 
  result = (uint8)(arg1)->queryCatalog(arg2,(char const *)arg3,arg4,arg5);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1queryCatalog_1_1SWIG_16(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4, jobject jarg4_) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  cmlabs::DataMessage **arg2 = (cmlabs::DataMessage **) 0 ;
  char *arg3 = (char *) 0 ;
  cmlabs::DataMessage *arg4 = (cmlabs::DataMessage *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg4_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(cmlabs::DataMessage ***)&jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = *(cmlabs::DataMessage **)&jarg4; 
  result = (uint8)(arg1)->queryCatalog(arg2,(char const *)arg3,arg4);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1queryRemoteCatalog_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jstring jarg4, jint jarg5, jlong jarg6, jobject jarg6_, jlong jarg7) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  cmlabs::DataMessage **arg2 = (cmlabs::DataMessage **) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  uint16 arg5 ;
  cmlabs::DataMessage *arg6 = (cmlabs::DataMessage *) 0 ;
  uint32 arg7 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg6_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(cmlabs::DataMessage ***)&jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  arg5 = (uint16)jarg5; 
  arg6 = *(cmlabs::DataMessage **)&jarg6; 
  arg7 = (uint32)jarg7; 
  result = (uint8)(arg1)->queryRemoteCatalog(arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1queryRemoteCatalog_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jstring jarg4, jint jarg5, jlong jarg6, jobject jarg6_) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  cmlabs::DataMessage **arg2 = (cmlabs::DataMessage **) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  uint16 arg5 ;
  cmlabs::DataMessage *arg6 = (cmlabs::DataMessage *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg6_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(cmlabs::DataMessage ***)&jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  arg5 = (uint16)jarg5; 
  arg6 = *(cmlabs::DataMessage **)&jarg6; 
  result = (uint8)(arg1)->queryRemoteCatalog(arg2,(char const *)arg3,(char const *)arg4,arg5,arg6);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1queryRemoteCatalog_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4, jint jarg5, jlong jarg6, jobject jarg6_, jlong jarg7) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  cmlabs::DataMessage **arg2 = (cmlabs::DataMessage **) 0 ;
  char *arg3 = (char *) 0 ;
  uint32 arg4 ;
  uint16 arg5 ;
  cmlabs::DataMessage *arg6 = (cmlabs::DataMessage *) 0 ;
  uint32 arg7 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg6_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(cmlabs::DataMessage ***)&jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (uint32)jarg4; 
  arg5 = (uint16)jarg5; 
  arg6 = *(cmlabs::DataMessage **)&jarg6; 
  arg7 = (uint32)jarg7; 
  result = (uint8)(arg1)->queryRemoteCatalog(arg2,(char const *)arg3,arg4,arg5,arg6,arg7);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1queryRemoteCatalog_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4, jint jarg5, jlong jarg6, jobject jarg6_) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  cmlabs::DataMessage **arg2 = (cmlabs::DataMessage **) 0 ;
  char *arg3 = (char *) 0 ;
  uint32 arg4 ;
  uint16 arg5 ;
  cmlabs::DataMessage *arg6 = (cmlabs::DataMessage *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg6_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(cmlabs::DataMessage ***)&jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = (uint32)jarg4; 
  arg5 = (uint16)jarg5; 
  arg6 = *(cmlabs::DataMessage **)&jarg6; 
  result = (uint8)(arg1)->queryRemoteCatalog(arg2,(char const *)arg3,arg4,arg5,arg6);
  jresult = (jshort)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1queryRemoteCatalog_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jstring jarg4, jlong jarg5, jlong jarg6, jint jarg7, jlong jarg8, jobject jarg8_, jlong jarg9) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  cmlabs::DataMessage **arg2 = (cmlabs::DataMessage **) 0 ;
  uint32 *arg3 = 0 ;
  char *arg4 = (char *) 0 ;
  uint32 *arg5 = (uint32 *) 0 ;
  uint32 arg6 ;
  uint16 arg7 ;
  cmlabs::DataMessage *arg8 = (cmlabs::DataMessage *) 0 ;
  uint32 arg9 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg8_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(cmlabs::DataMessage ***)&jarg2; 
  arg3 = *(uint32 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  arg5 = *(uint32 **)&jarg5; 
  arg6 = (uint32)jarg6; 
  arg7 = (uint16)jarg7; 
  arg8 = *(cmlabs::DataMessage **)&jarg8; 
  arg9 = (uint32)jarg9; 
  result = (uint8)(arg1)->queryRemoteCatalog(arg2,*arg3,(char const *)arg4,arg5,arg6,arg7,arg8,arg9);
  jresult = (jshort)result; 
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1queryRemoteCatalog_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jstring jarg4, jlong jarg5, jlong jarg6, jint jarg7, jlong jarg8, jobject jarg8_) {
  jshort jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  cmlabs::DataMessage **arg2 = (cmlabs::DataMessage **) 0 ;
  uint32 *arg3 = 0 ;
  char *arg4 = (char *) 0 ;
  uint32 *arg5 = (uint32 *) 0 ;
  uint32 arg6 ;
  uint16 arg7 ;
  cmlabs::DataMessage *arg8 = (cmlabs::DataMessage *) 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg8_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = *(cmlabs::DataMessage ***)&jarg2; 
  arg3 = *(uint32 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  arg5 = *(uint32 **)&jarg5; 
  arg6 = (uint32)jarg6; 
  arg7 = (uint16)jarg7; 
  arg8 = *(cmlabs::DataMessage **)&jarg8; 
  result = (uint8)(arg1)->queryRemoteCatalog(arg2,*arg3,(char const *)arg4,arg5,arg6,arg7,arg8);
  jresult = (jshort)result; 
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1queryReply_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jshort jarg3, jstring jarg4, jlong jarg5, jlong jarg6) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  uint32 arg2 ;
  uint8 arg3 ;
  char *arg4 = (char *) 0 ;
  uint32 arg5 ;
  uint32 arg6 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint8)jarg3; 
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  arg5 = (uint32)jarg5; 
  arg6 = (uint32)jarg6; 
  result = (bool)(arg1)->queryReply(arg2,arg3,arg4,arg5,arg6);
  jresult = (jboolean)result; 
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1queryReply_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jshort jarg3, jlong jarg4, jobject jarg4_) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  uint32 arg2 ;
  uint8 arg3 ;
  cmlabs::DataMessage *arg4 = (cmlabs::DataMessage *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg4_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint8)jarg3; 
  arg4 = *(cmlabs::DataMessage **)&jarg4; 
  result = (bool)(arg1)->queryReply(arg2,arg3,arg4);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1queryReply_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jshort jarg3) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  uint32 arg2 ;
  uint8 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint8)jarg3; 
  result = (bool)(arg1)->queryReply(arg2,arg3);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyAPI_1logPrint(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jstring jarg3) {
  jboolean jresult = 0 ;
  cmlabs::PsyAPI *arg1 = (cmlabs::PsyAPI *) 0 ;
  int arg2 ;
  char *arg3 = (char *) 0 ;
  void *arg4 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyAPI **)&jarg1; 
  arg2 = (int)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (bool)(arg1)->logPrint(arg2,(char const *)arg3,arg4);
  jresult = (jboolean)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_LOG_1SPACE_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(7);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1TimeQueueSchedule_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg2, jobject jarg3) {
  jlong jresult = 0 ;
  uint32 arg1 ;
  uint64 arg2 ;
  uint64 arg3 ;
  cmlabs::TimeQueueSchedule *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = (uint32)jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg3) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg3);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg3, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg3 = 0;
    if (sz > 0) {
      arg3 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg3 = (arg3 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (cmlabs::TimeQueueSchedule *)new cmlabs::TimeQueueSchedule(arg1,arg2,arg3);
  *(cmlabs::TimeQueueSchedule **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1TimeQueueSchedule_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg2) {
  jlong jresult = 0 ;
  uint32 arg1 ;
  uint64 arg2 ;
  cmlabs::TimeQueueSchedule *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = (uint32)jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (cmlabs::TimeQueueSchedule *)new cmlabs::TimeQueueSchedule(arg1,arg2);
  *(cmlabs::TimeQueueSchedule **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1TimeQueueSchedule_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  jlong jresult = 0 ;
  uint32 arg1 ;
  cmlabs::TimeQueueSchedule *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = (uint32)jarg1; 
  result = (cmlabs::TimeQueueSchedule *)new cmlabs::TimeQueueSchedule(arg1);
  *(cmlabs::TimeQueueSchedule **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1TimeQueueSchedule(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::TimeQueueSchedule *arg1 = (cmlabs::TimeQueueSchedule *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::TimeQueueSchedule **)&jarg1; 
  delete arg1;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TimeQueueSchedule_1id_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::TimeQueueSchedule *arg1 = (cmlabs::TimeQueueSchedule *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TimeQueueSchedule **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->id = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TimeQueueSchedule_1id_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::TimeQueueSchedule *arg1 = (cmlabs::TimeQueueSchedule *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TimeQueueSchedule **)&jarg1; 
  result = (uint32) ((arg1)->id);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TimeQueueSchedule_1nextTrigger_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::TimeQueueSchedule *arg1 = (cmlabs::TimeQueueSchedule *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TimeQueueSchedule **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->nextTrigger = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TimeQueueSchedule_1nextTrigger_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::TimeQueueSchedule *arg1 = (cmlabs::TimeQueueSchedule *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TimeQueueSchedule **)&jarg1; 
  result = (uint64) ((arg1)->nextTrigger);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TimeQueueSchedule_1interval_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::TimeQueueSchedule *arg1 = (cmlabs::TimeQueueSchedule *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TimeQueueSchedule **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->interval = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TimeQueueSchedule_1interval_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::TimeQueueSchedule *arg1 = (cmlabs::TimeQueueSchedule *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TimeQueueSchedule **)&jarg1; 
  result = (uint32) ((arg1)->interval);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TimeQueueSchedule_1start_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::TimeQueueSchedule *arg1 = (cmlabs::TimeQueueSchedule *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TimeQueueSchedule **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->start = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TimeQueueSchedule_1start_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::TimeQueueSchedule *arg1 = (cmlabs::TimeQueueSchedule *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TimeQueueSchedule **)&jarg1; 
  result = (uint64) ((arg1)->start);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TimeQueueSchedule_1end_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::TimeQueueSchedule *arg1 = (cmlabs::TimeQueueSchedule *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TimeQueueSchedule **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->end = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TimeQueueSchedule_1end_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::TimeQueueSchedule *arg1 = (cmlabs::TimeQueueSchedule *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TimeQueueSchedule **)&jarg1; 
  result = (uint64) ((arg1)->end);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TimeQueueSchedule_1msgType_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::TimeQueueSchedule *arg1 = (cmlabs::TimeQueueSchedule *) 0 ;
  PsyType arg2 ;
  PsyType *argp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TimeQueueSchedule **)&jarg1; 
  argp2 = *(PsyType **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null PsyType");
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->msgType = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TimeQueueSchedule_1msgType_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::TimeQueueSchedule *arg1 = (cmlabs::TimeQueueSchedule *) 0 ;
  PsyType result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TimeQueueSchedule **)&jarg1; 
  result =  ((arg1)->msgType);
  *(PsyType **)&jresult = new PsyType((const PsyType &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TimeQueueSchedule_1msgTag_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::TimeQueueSchedule *arg1 = (cmlabs::TimeQueueSchedule *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TimeQueueSchedule **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->msgTag = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TimeQueueSchedule_1msgTag_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::TimeQueueSchedule *arg1 = (cmlabs::TimeQueueSchedule *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TimeQueueSchedule **)&jarg1; 
  result = (uint32) ((arg1)->msgTag);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1TimeQueue(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::TimeQueue *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::TimeQueue *)new cmlabs::TimeQueue();
  *(cmlabs::TimeQueue **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1TimeQueue(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::TimeQueue *arg1 = (cmlabs::TimeQueue *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::TimeQueue **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TimeQueue_1addSchedule(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
  jboolean jresult = 0 ;
  cmlabs::TimeQueue *arg1 = (cmlabs::TimeQueue *) 0 ;
  cmlabs::TimeQueueSchedule *arg2 = (cmlabs::TimeQueueSchedule *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::TimeQueue **)&jarg1; 
  arg2 = *(cmlabs::TimeQueueSchedule **)&jarg2; 
  result = (bool)(arg1)->addSchedule(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TimeQueue_1removeSchedule(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::TimeQueue *arg1 = (cmlabs::TimeQueue *) 0 ;
  uint32 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TimeQueue **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (bool)(arg1)->removeSchedule(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TimeQueue_1waitForNextEvent(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jlong jresult = 0 ;
  cmlabs::TimeQueue *arg1 = (cmlabs::TimeQueue *) 0 ;
  uint32 arg2 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::TimeQueue **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (cmlabs::DataMessage *)(arg1)->waitForNextEvent(arg2);
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SignalStruct_1lastSignalMsg_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
  cmlabs::SignalStruct *arg1 = (cmlabs::SignalStruct *) 0 ;
  cmlabs::DataMessage *arg2 = (cmlabs::DataMessage *) 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::SignalStruct **)&jarg1; 
  arg2 = *(cmlabs::DataMessage **)&jarg2; 
  if (arg1) (arg1)->lastSignalMsg = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SignalStruct_1lastSignalMsg_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::SignalStruct *arg1 = (cmlabs::SignalStruct *) 0 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::SignalStruct **)&jarg1; 
  result = (cmlabs::DataMessage *) ((arg1)->lastSignalMsg);
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SignalStruct_1event_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::SignalStruct *arg1 = (cmlabs::SignalStruct *) 0 ;
  utils::Event arg2 ;
  utils::Event *argp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::SignalStruct **)&jarg1; 
  argp2 = *(utils::Event **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null utils::Event");
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->event = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SignalStruct_1event_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::SignalStruct *arg1 = (cmlabs::SignalStruct *) 0 ;
  utils::Event result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::SignalStruct **)&jarg1; 
  result =  ((arg1)->event);
  *(utils::Event **)&jresult = new utils::Event((const utils::Event &)result); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SignalStruct_1mutex_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::SignalStruct *arg1 = (cmlabs::SignalStruct *) 0 ;
  utils::Mutex arg2 ;
  utils::Mutex *argp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::SignalStruct **)&jarg1; 
  argp2 = *(utils::Mutex **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null utils::Mutex");
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->mutex = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SignalStruct_1mutex_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::SignalStruct *arg1 = (cmlabs::SignalStruct *) 0 ;
  utils::Mutex result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::SignalStruct **)&jarg1; 
  result =  ((arg1)->mutex);
  *(utils::Mutex **)&jresult = new utils::Mutex((const utils::Mutex &)result); 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1SignalStruct(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::SignalStruct *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::SignalStruct *)new cmlabs::SignalStruct();
  *(cmlabs::SignalStruct **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1SignalStruct(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::SignalStruct *arg1 = (cmlabs::SignalStruct *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::SignalStruct **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PROCMESSAGE_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(0);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PROCSIGNAL_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(1);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PROCREQUEST_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(2);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1PsySpace_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jstring jarg1, jboolean jarg2, jint jarg3, jboolean jarg4) {
  jlong jresult = 0 ;
  char *arg1 = (char *) 0 ;
  bool arg2 ;
  uint16 arg3 ;
  bool arg4 ;
  cmlabs::PsySpace *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = jarg2 ? true : false; 
  arg3 = (uint16)jarg3; 
  arg4 = jarg4 ? true : false; 
  result = (cmlabs::PsySpace *)new cmlabs::PsySpace((char const *)arg1,arg2,arg3,arg4);
  *(cmlabs::PsySpace **)&jresult = result; 
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1PsySpace_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jstring jarg1, jboolean jarg2, jint jarg3) {
  jlong jresult = 0 ;
  char *arg1 = (char *) 0 ;
  bool arg2 ;
  uint16 arg3 ;
  cmlabs::PsySpace *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = jarg2 ? true : false; 
  arg3 = (uint16)jarg3; 
  result = (cmlabs::PsySpace *)new cmlabs::PsySpace((char const *)arg1,arg2,arg3);
  *(cmlabs::PsySpace **)&jresult = result; 
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1PsySpace_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jstring jarg1, jboolean jarg2) {
  jlong jresult = 0 ;
  char *arg1 = (char *) 0 ;
  bool arg2 ;
  cmlabs::PsySpace *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = jarg2 ? true : false; 
  result = (cmlabs::PsySpace *)new cmlabs::PsySpace((char const *)arg1,arg2);
  *(cmlabs::PsySpace **)&jresult = result; 
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1PsySpace_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jstring jarg1) {
  jlong jresult = 0 ;
  char *arg1 = (char *) 0 ;
  cmlabs::PsySpace *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  result = (cmlabs::PsySpace *)new cmlabs::PsySpace((char const *)arg1);
  *(cmlabs::PsySpace **)&jresult = result; 
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1PsySpace_1_1SWIG_14(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::PsySpace *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::PsySpace *)new cmlabs::PsySpace();
  *(cmlabs::PsySpace **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1PsySpace(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1connect_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jboolean jarg3, jstring jarg4) {
  jboolean jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  uint16 arg2 ;
  bool arg3 ;
  char *arg4 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  arg2 = (uint16)jarg2; 
  arg3 = jarg3 ? true : false; 
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  result = (bool)(arg1)->connect(arg2,arg3,(char const *)arg4);
  jresult = (jboolean)result; 
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1connect_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jboolean jarg3) {
  jboolean jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  uint16 arg2 ;
  bool arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  arg2 = (uint16)jarg2; 
  arg3 = jarg3 ? true : false; 
  result = (bool)(arg1)->connect(arg2,arg3);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1connect_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  uint16 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  arg2 = (uint16)jarg2; 
  result = (bool)(arg1)->connect(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1isConnected_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  uint32 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (bool)(arg1)->isConnected(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1isConnected_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  result = (bool)(arg1)->isConnected();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1reset(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  result = (bool)(arg1)->reset();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1start_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  uint16 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  arg2 = (uint16)jarg2; 
  result = (bool)(arg1)->start(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1start_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  result = (bool)(arg1)->start();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1shutdown(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  result = (bool)(arg1)->shutdown();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1hasShutdown(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  result = (bool)(arg1)->hasShutdown();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1getID(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  result = (uint16)(arg1)->getID();
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1postMessage(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
  jboolean jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  cmlabs::DataMessage *arg2 = (cmlabs::DataMessage *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  arg2 = *(cmlabs::DataMessage **)&jarg2; 
  result = (bool)(arg1)->postMessage(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1emitSignal(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jobject jarg3_) {
  jboolean jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  PsyType *arg2 = 0 ;
  cmlabs::DataMessage *arg3 = (cmlabs::DataMessage *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg3_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  arg2 = *(PsyType **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "PsyType const & reference is null");
    return 0;
  } 
  arg3 = *(cmlabs::DataMessage **)&jarg3; 
  result = (bool)(arg1)->emitSignal((PsyType const &)*arg2,arg3);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1waitForSignal_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jobject jarg4) {
  jlong jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  PsyType *arg2 = 0 ;
  uint32 arg3 ;
  uint64 arg4 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  arg2 = *(PsyType **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "PsyType const & reference is null");
    return 0;
  } 
  arg3 = (uint32)jarg3; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg4) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg4);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg4, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg4 = 0;
    if (sz > 0) {
      arg4 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg4 = (arg4 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (cmlabs::DataMessage *)(arg1)->waitForSignal((PsyType const &)*arg2,arg3,arg4);
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1waitForSignal_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  jlong jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  PsyType *arg2 = 0 ;
  uint32 arg3 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  arg2 = *(PsyType **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "PsyType const & reference is null");
    return 0;
  } 
  arg3 = (uint32)jarg3; 
  result = (cmlabs::DataMessage *)(arg1)->waitForSignal((PsyType const &)*arg2,arg3);
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1query(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jlong jarg4) {
  jshort jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  cmlabs::DataMessage *arg2 = (cmlabs::DataMessage *) 0 ;
  cmlabs::DataMessage **arg3 = (cmlabs::DataMessage **) 0 ;
  uint32 arg4 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  arg2 = *(cmlabs::DataMessage **)&jarg2; 
  arg3 = *(cmlabs::DataMessage ***)&jarg3; 
  arg4 = (uint32)jarg4; 
  result = (uint8)(arg1)->query(arg2,arg3,arg4);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1queryReply(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jshort jarg3, jlong jarg4, jobject jarg4_) {
  jboolean jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  uint32 arg2 ;
  uint8 arg3 ;
  cmlabs::DataMessage *arg4 = (cmlabs::DataMessage *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg4_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint8)jarg3; 
  arg4 = *(cmlabs::DataMessage **)&jarg4; 
  result = (bool)(arg1)->queryReply(arg2,arg3,arg4);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1getComponentID(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (uint32)(arg1)->getComponentID((char const *)arg2);
  jresult = (jlong)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1getCrankAPI(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jlong jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  char *arg2 = (char *) 0 ;
  cmlabs::PsyAPI *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (cmlabs::PsyAPI *)(arg1)->getCrankAPI((char const *)arg2);
  *(cmlabs::PsyAPI **)&jresult = result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1registerCrankCallback(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  char *arg2 = (char *) 0 ;
  cmlabs::CrankFunction arg3 = (cmlabs::CrankFunction) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(cmlabs::CrankFunction *)&jarg3; 
  result = (bool)(arg1)->registerCrankCallback((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1addPsyProbeCustomView(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jstring jarg4) {
  jboolean jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  uint32 arg2 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  arg4 = 0;
  if (jarg4) {
    arg4 = (char *)jenv->GetStringUTFChars(jarg4, 0);
    if (!arg4) return 0;
  }
  result = (bool)(arg1)->addPsyProbeCustomView(arg2,(char const *)arg3,(char const *)arg4);
  jresult = (jboolean)result; 
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  if (arg4) jenv->ReleaseStringUTFChars(jarg4, (const char *)arg4);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1logEntry(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  LogEntry *arg2 = (LogEntry *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  arg2 = *(LogEntry **)&jarg2; 
  result = (bool)(arg1)->logEntry(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1manager_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  MemoryManager *arg2 = (MemoryManager *) 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  arg2 = *(MemoryManager **)&jarg2; 
  if (arg1) (arg1)->manager = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpace_1manager_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::PsySpace *arg1 = (cmlabs::PsySpace *) 0 ;
  MemoryManager *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsySpace **)&jarg1; 
  result = (MemoryManager *) ((arg1)->manager);
  *(MemoryManager **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpaceRun(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  jlong jresult = 0 ;
  THREAD_ARG arg1 ;
  THREAD_ARG *argp1 ;
  THREAD_RET result;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(THREAD_ARG **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null THREAD_ARG");
    return 0;
  }
  arg1 = *argp1; 
  result = cmlabs::PsySpaceRun(arg1);
  *(THREAD_RET **)&jresult = new THREAD_RET((const THREAD_RET &)result); 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpacePoolRun(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  jlong jresult = 0 ;
  THREAD_ARG arg1 ;
  THREAD_ARG *argp1 ;
  THREAD_RET result;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(THREAD_ARG **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null THREAD_ARG");
    return 0;
  }
  arg1 = *argp1; 
  result = cmlabs::PsySpacePoolRun(arg1);
  *(THREAD_RET **)&jresult = new THREAD_RET((const THREAD_RET &)result); 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsySpaceContinuousRun(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  jlong jresult = 0 ;
  THREAD_ARG arg1 ;
  THREAD_ARG *argp1 ;
  THREAD_RET result;
  
  (void)jenv;
  (void)jcls;
  argp1 = *(THREAD_ARG **)&jarg1; 
  if (!argp1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null THREAD_ARG");
    return 0;
  }
  arg1 = *argp1; 
  result = cmlabs::PsySpaceContinuousRun(arg1);
  *(THREAD_RET **)&jresult = new THREAD_RET((const THREAD_RET &)result); 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_USEC_1YEAR_10_1TO_11970_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  long result;
  
  (void)jenv;
  (void)jcls;
  result = (long)(62167305600000000L);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SECS_1PER_1YEAR_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(31536000);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SECS_1PER_1MONTH_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(2629744);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SECS_1PER_1WEEK_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(604800);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SECS_1PER_1DAY_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(86400);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SECS_1PER_1HOUR_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(3600);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SECS_1PER_1MIN_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(60);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TIME_1YEAR_11970_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  long result;
  
  (void)jenv;
  (void)jcls;
  result = (long)(62167305600000000L);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SECOND_1MS_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(1000);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MINUTE_1MS_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(60*1000);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_HOUR_1MS_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(3600*1000);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DAY_1MS_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(86400*1000);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_WEEK_1MS_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(604800*1000);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDays_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  char (*result)[5] = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (char (*)[5])(char (*)[5])cmlabs::PsyDays;
  *(char (**)[5])&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDaysFull_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  char (*result)[10] = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (char (*)[10])(char (*)[10])cmlabs::PsyDaysFull;
  *(char (**)[10])&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyMonths_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  char (*result)[5] = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (char (*)[5])(char (*)[5])cmlabs::PsyMonths;
  *(char (**)[5])&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyMonthsFull_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  char (*result)[10] = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (char (*)[10])(char (*)[10])cmlabs::PsyMonthsFull;
  *(char (**)[10])&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1usec_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->usec = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1usec_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  result = (uint32) ((arg1)->usec);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1msec_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->msec = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1msec_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  result = (uint32) ((arg1)->msec);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1sec_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->sec = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1sec_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  result = (uint16) ((arg1)->sec);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1min_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->min = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1min_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  result = (uint16) ((arg1)->min);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1hour_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->hour = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1hour_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  result = (uint16) ((arg1)->hour);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1day_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->day = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1day_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  result = (uint16) ((arg1)->day);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1mon_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->mon = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1mon_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  result = (uint16) ((arg1)->mon);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1year_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->year = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1year_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  result = (uint16) ((arg1)->year);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1wday_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->wday = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1wday_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  result = (uint16) ((arg1)->wday);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1yday_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint16 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  arg2 = (uint16)jarg2; 
  if (arg1) (arg1)->yday = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1yday_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  uint16 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  result = (uint16) ((arg1)->yday);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1negative_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2) {
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  bool arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  arg2 = jarg2 ? true : false; 
  if (arg1) (arg1)->negative = arg2;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1negative_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  result = (bool) ((arg1)->negative);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1dst_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2) {
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  bool arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  arg2 = jarg2 ? true : false; 
  if (arg1) (arg1)->dst = arg2;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1dst_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  result = (bool) ((arg1)->dst);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1dstsec_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  int32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  arg2 = (int32)jarg2; 
  if (arg1) (arg1)->dstsec = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1dstsec_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  int32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  result = (int32) ((arg1)->dstsec);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1tzsec_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  int32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  arg2 = (int32)jarg2; 
  if (arg1) (arg1)->tzsec = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1tzsec_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  int32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  result = (int32) ((arg1)->tzsec);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1zonename_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->zonename, (const char *)arg2, 64-1);
      arg1->zonename[64-1] = 0;
    } else {
      arg1->zonename[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyDateAndTime_1zonename_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  result = (char *)(char *) ((arg1)->zonename);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1PsyDateAndTime(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::PsyDateAndTime *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::PsyDateAndTime *)new cmlabs::PsyDateAndTime();
  *(cmlabs::PsyDateAndTime **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1PsyDateAndTime(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::PsyDateAndTime *arg1 = (cmlabs::PsyDateAndTime *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_GetTimeNow(JNIEnv *jenv, jclass jcls) {
  jobject jresult = 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  result = (uint64)cmlabs::GetTimeNow();
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SyncToHardwareClock(JNIEnv *jenv, jclass jcls) {
  jobject jresult = 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  result = (uint64)cmlabs::SyncToHardwareClock();
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SetCurrentNetSyncDif(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  jboolean jresult = 0 ;
  int64 arg1 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  arg1 = (int64)jarg1; 
  result = (bool)cmlabs::SetCurrentNetSyncDif(arg1);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_SetCurrentTimeSyncData(JNIEnv *jenv, jclass jcls, jobject jarg1, jlong jarg2) {
  jboolean jresult = 0 ;
  uint64 arg1 ;
  int64 arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = (int64)jarg2; 
  result = (bool)cmlabs::SetCurrentTimeSyncData(arg1,arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_GetCurrentTimeSyncData(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2) {
  jboolean jresult = 0 ;
  uint64 *arg1 = 0 ;
  int64 *arg2 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(uint64 **)&jarg1;
  if (!arg1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint64 & reference is null");
    return 0;
  } 
  arg2 = *(int64 **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "int64 & reference is null");
    return 0;
  } 
  result = (bool)cmlabs::GetCurrentTimeSyncData(*arg1,*arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TMC_1MASTER_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(0);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TMC_1SLAVE_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(1);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_TMC_1SYNC_1INTERVAL_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(60000000);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_CurrentTMC_1set(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  uint64 arg1 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  cmlabs::CurrentTMC = arg1;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_CurrentTMC_1get(JNIEnv *jenv, jclass jcls) {
  jobject jresult = 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  result = (uint64)cmlabs::CurrentTMC;
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_CurrentTMCMode_1set(JNIEnv *jenv, jclass jcls, jshort jarg1) {
  uint8 arg1 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = (uint8)jarg1; 
  cmlabs::CurrentTMCMode = arg1;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_CurrentTMCMode_1get(JNIEnv *jenv, jclass jcls) {
  jshort jresult = 0 ;
  uint8 result;
  
  (void)jenv;
  (void)jcls;
  result = (uint8)cmlabs::CurrentTMCMode;
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_LastTMCSync_1set(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  uint64 arg1 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  cmlabs::LastTMCSync = arg1;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_LastTMCSync_1get(JNIEnv *jenv, jclass jcls) {
  jobject jresult = 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  result = (uint64)cmlabs::LastTMCSync;
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_NetTimeAdjust_1set(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  int64 arg1 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = (int64)jarg1; 
  cmlabs::NetTimeAdjust = arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_NetTimeAdjust_1get(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  int64 result;
  
  (void)jenv;
  (void)jcls;
  result = (int64)cmlabs::NetTimeAdjust;
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_EstNextTMCWrap(JNIEnv *jenv, jclass jcls) {
  jobject jresult = 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  result = (uint64)cmlabs::EstNextTMCWrap();
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_GetTimeAge(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jlong jresult = 0 ;
  uint64 arg1 ;
  int64 result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (int64)cmlabs::GetTimeAge(arg1);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_GetTimeAgeMS(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jint jresult = 0 ;
  uint64 arg1 ;
  int32 result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (int32)cmlabs::GetTimeAgeMS(arg1);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_GetTimeFromString(JNIEnv *jenv, jclass jcls, jstring jarg1) {
  jobject jresult = 0 ;
  char *arg1 = (char *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  result = (uint64)cmlabs::GetTimeFromString((char const *)arg1);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_GetHTTPTime(JNIEnv *jenv, jclass jcls, jobject jarg1, jstring jarg2, jlong jarg3) {
  jlong jresult = 0 ;
  uint64 arg1 ;
  char *arg2 = (char *) 0 ;
  uint32 arg3 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (uint32)jarg3; 
  result = (uint32)cmlabs::GetHTTPTime(arg1,arg2,arg3);
  jresult = (jlong)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_GetTimeFromPsyDateAndTime(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::PsyDateAndTime *arg1 = 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::PsyDateAndTime **)&jarg1;
  if (!arg1) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "cmlabs::PsyDateAndTime & reference is null");
    return 0;
  } 
  result = (uint64)cmlabs::GetTimeFromPsyDateAndTime(*arg1);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_GetTimeOffsetGMT(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  result = (uint32)cmlabs::GetTimeOffsetGMT();
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_GetDateAndTime_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2) {
  jlong jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  cmlabs::PsyDateAndTime result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  result = cmlabs::GetDateAndTime(arg1,arg2);
  *(cmlabs::PsyDateAndTime **)&jresult = new cmlabs::PsyDateAndTime((const cmlabs::PsyDateAndTime &)result); 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_GetDateAndTime_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jlong jresult = 0 ;
  uint64 arg1 ;
  cmlabs::PsyDateAndTime result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = cmlabs::GetDateAndTime(arg1);
  *(cmlabs::PsyDateAndTime **)&jresult = new cmlabs::PsyDateAndTime((const cmlabs::PsyDateAndTime &)result); 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_GetDateAndTimeUTC(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jlong jresult = 0 ;
  uint64 arg1 ;
  cmlabs::PsyDateAndTime result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = cmlabs::GetDateAndTimeUTC(arg1);
  *(cmlabs::PsyDateAndTime **)&jresult = new cmlabs::PsyDateAndTime((const cmlabs::PsyDateAndTime &)result); 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_GetTimeDifference_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jobject jarg2) {
  jlong jresult = 0 ;
  uint64 arg1 ;
  uint64 arg2 ;
  cmlabs::PsyDateAndTime result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = cmlabs::GetTimeDifference(arg1,arg2);
  *(cmlabs::PsyDateAndTime **)&jresult = new cmlabs::PsyDateAndTime((const cmlabs::PsyDateAndTime &)result); 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_GetTimeDifference_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  jlong jresult = 0 ;
  int64 arg1 ;
  cmlabs::PsyDateAndTime result;
  
  (void)jenv;
  (void)jcls;
  arg1 = (int64)jarg1; 
  result = cmlabs::GetTimeDifference(arg1);
  *(cmlabs::PsyDateAndTime **)&jresult = new cmlabs::PsyDateAndTime((const cmlabs::PsyDateAndTime &)result); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTime_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2, jboolean jarg3, jboolean jarg4) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  bool arg3 ;
  bool arg4 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  arg3 = jarg3 ? true : false; 
  arg4 = jarg4 ? true : false; 
  result = (char *)cmlabs::PrintTime(arg1,arg2,arg3,arg4);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTime_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2, jboolean jarg3) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  bool arg3 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  arg3 = jarg3 ? true : false; 
  result = (char *)cmlabs::PrintTime(arg1,arg2,arg3);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTime_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  result = (char *)cmlabs::PrintTime(arg1,arg2);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTime_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (char *)cmlabs::PrintTime(arg1);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeOnly_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2, jboolean jarg3, jboolean jarg4) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  bool arg3 ;
  bool arg4 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  arg3 = jarg3 ? true : false; 
  arg4 = jarg4 ? true : false; 
  result = (char *)cmlabs::PrintTimeOnly(arg1,arg2,arg3,arg4);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeOnly_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2, jboolean jarg3) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  bool arg3 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  arg3 = jarg3 ? true : false; 
  result = (char *)cmlabs::PrintTimeOnly(arg1,arg2,arg3);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeOnly_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  result = (char *)cmlabs::PrintTimeOnly(arg1,arg2);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeOnly_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (char *)cmlabs::PrintTimeOnly(arg1);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeDif_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2, jboolean jarg3) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  bool arg3 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  arg3 = jarg3 ? true : false; 
  result = (char *)cmlabs::PrintTimeDif(arg1,arg2,arg3);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeDif_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  result = (char *)cmlabs::PrintTimeDif(arg1,arg2);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeDif_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (char *)cmlabs::PrintTimeDif(arg1);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintDate_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  result = (char *)cmlabs::PrintDate(arg1,arg2);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintDate_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (char *)cmlabs::PrintDate(arg1);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintDateSortable_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  result = (char *)cmlabs::PrintDateSortable(arg1,arg2);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintDateSortable_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (char *)cmlabs::PrintDateSortable(arg1);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintDateSortableDelimiter_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jstring jarg2, jboolean jarg3) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  char *arg2 = (char *) 0 ;
  bool arg3 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = jarg3 ? true : false; 
  result = (char *)cmlabs::PrintDateSortableDelimiter(arg1,(char const *)arg2,arg3);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintDateSortableDelimiter_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1, jstring jarg2) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (char *)cmlabs::PrintDateSortableDelimiter(arg1,(char const *)arg2);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeSortable(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  result = (char *)cmlabs::PrintTimeSortable(arg1,arg2);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeSortableMillisec(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  result = (char *)cmlabs::PrintTimeSortableMillisec(arg1,arg2);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeSortableMicrosec(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  result = (char *)cmlabs::PrintTimeSortableMicrosec(arg1,arg2);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeNowString_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jboolean jarg1, jboolean jarg2, jboolean jarg3) {
  jstring jresult = 0 ;
  bool arg1 ;
  bool arg2 ;
  bool arg3 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  arg1 = jarg1 ? true : false; 
  arg2 = jarg2 ? true : false; 
  arg3 = jarg3 ? true : false; 
  result = cmlabs::PrintTimeNowString(arg1,arg2,arg3);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeNowString_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jboolean jarg1, jboolean jarg2) {
  jstring jresult = 0 ;
  bool arg1 ;
  bool arg2 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  arg1 = jarg1 ? true : false; 
  arg2 = jarg2 ? true : false; 
  result = cmlabs::PrintTimeNowString(arg1,arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeNowString_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jboolean jarg1) {
  jstring jresult = 0 ;
  bool arg1 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  arg1 = jarg1 ? true : false; 
  result = cmlabs::PrintTimeNowString(arg1);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeNowString_1_1SWIG_13(JNIEnv *jenv, jclass jcls) {
  jstring jresult = 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  result = cmlabs::PrintTimeNowString();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeString_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2, jboolean jarg3, jboolean jarg4) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  bool arg3 ;
  bool arg4 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  arg3 = jarg3 ? true : false; 
  arg4 = jarg4 ? true : false; 
  result = cmlabs::PrintTimeString(arg1,arg2,arg3,arg4);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeString_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2, jboolean jarg3) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  bool arg3 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  arg3 = jarg3 ? true : false; 
  result = cmlabs::PrintTimeString(arg1,arg2,arg3);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeString_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  result = cmlabs::PrintTimeString(arg1,arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeString_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = cmlabs::PrintTimeString(arg1);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeOnlyString_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2, jboolean jarg3, jboolean jarg4) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  bool arg3 ;
  bool arg4 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  arg3 = jarg3 ? true : false; 
  arg4 = jarg4 ? true : false; 
  result = cmlabs::PrintTimeOnlyString(arg1,arg2,arg3,arg4);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeOnlyString_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2, jboolean jarg3) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  bool arg3 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  arg3 = jarg3 ? true : false; 
  result = cmlabs::PrintTimeOnlyString(arg1,arg2,arg3);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeOnlyString_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  result = cmlabs::PrintTimeOnlyString(arg1,arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeOnlyString_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = cmlabs::PrintTimeOnlyString(arg1);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeDifString_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2, jboolean jarg3) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  bool arg3 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  arg3 = jarg3 ? true : false; 
  result = cmlabs::PrintTimeDifString(arg1,arg2,arg3);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeDifString_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  result = cmlabs::PrintTimeDifString(arg1,arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeDifString_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = cmlabs::PrintTimeDifString(arg1);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintDateString_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  result = cmlabs::PrintDateString(arg1,arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintDateString_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = cmlabs::PrintDateString(arg1);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintDateStringSortable_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  result = cmlabs::PrintDateStringSortable(arg1,arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintDateStringSortable_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = cmlabs::PrintDateStringSortable(arg1);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintDateStringSortableDelimiter_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jstring jarg2, jboolean jarg3) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  char *arg2 = (char *) 0 ;
  bool arg3 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = jarg3 ? true : false; 
  result = cmlabs::PrintDateStringSortableDelimiter(arg1,(char const *)arg2,arg3);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintDateStringSortableDelimiter_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1, jstring jarg2) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  char *arg2 = (char *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = cmlabs::PrintDateStringSortableDelimiter(arg1,(char const *)arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeSortableString_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  result = cmlabs::PrintTimeSortableString(arg1,arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeSortableString_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = cmlabs::PrintTimeSortableString(arg1);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeSortableMillisecString_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  result = cmlabs::PrintTimeSortableMillisecString(arg1,arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeSortableMillisecString_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = cmlabs::PrintTimeSortableMillisecString(arg1);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeSortableMicrosecString_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jobject jarg1, jboolean jarg2) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  bool arg2 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  arg2 = jarg2 ? true : false; 
  result = cmlabs::PrintTimeSortableMicrosecString(arg1,arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PrintTimeSortableMicrosecString_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jstring jresult = 0 ;
  uint64 arg1 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = cmlabs::PrintTimeSortableMicrosecString(arg1);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FTime2PsyTime(JNIEnv *jenv, jclass jcls, jobject jarg1) {
  jobject jresult = 0 ;
  uint64 arg1 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg1) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg1);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg1, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg1 = 0;
    if (sz > 0) {
      arg1 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg1 = (arg1 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (uint64)cmlabs::FTime2PsyTime(arg1);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_PsyTime_1UnitTest(JNIEnv *jenv, jclass jcls) {
  jboolean jresult = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  result = (bool)cmlabs::PsyTime_UnitTest();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DATACTRL_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(1);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_RLECTRL_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(2);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_DIFCTRL_1get(JNIEnv *jenv, jclass jcls) {
  jint jresult = 0 ;
  int result;
  
  (void)jenv;
  (void)jcls;
  result = (int)(3);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPFILEHEADER_1CM_1bfType_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::tagBITMAPFILEHEADER_CM *arg1 = (cmlabs::tagBITMAPFILEHEADER_CM *) 0 ;
  cmlabs::CMWORD arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPFILEHEADER_CM **)&jarg1; 
  arg2 = (cmlabs::CMWORD)jarg2; 
  if (arg1) (arg1)->bfType = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPFILEHEADER_1CM_1bfType_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::tagBITMAPFILEHEADER_CM *arg1 = (cmlabs::tagBITMAPFILEHEADER_CM *) 0 ;
  cmlabs::CMWORD result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPFILEHEADER_CM **)&jarg1; 
  result = (cmlabs::CMWORD) ((arg1)->bfType);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPFILEHEADER_1CM_1bfSize_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::tagBITMAPFILEHEADER_CM *arg1 = (cmlabs::tagBITMAPFILEHEADER_CM *) 0 ;
  cmlabs::CMDWORD arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPFILEHEADER_CM **)&jarg1; 
  arg2 = (cmlabs::CMDWORD)jarg2; 
  if (arg1) (arg1)->bfSize = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPFILEHEADER_1CM_1bfSize_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::tagBITMAPFILEHEADER_CM *arg1 = (cmlabs::tagBITMAPFILEHEADER_CM *) 0 ;
  cmlabs::CMDWORD result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPFILEHEADER_CM **)&jarg1; 
  result = (cmlabs::CMDWORD) ((arg1)->bfSize);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPFILEHEADER_1CM_1bfReserved1_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::tagBITMAPFILEHEADER_CM *arg1 = (cmlabs::tagBITMAPFILEHEADER_CM *) 0 ;
  cmlabs::CMWORD arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPFILEHEADER_CM **)&jarg1; 
  arg2 = (cmlabs::CMWORD)jarg2; 
  if (arg1) (arg1)->bfReserved1 = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPFILEHEADER_1CM_1bfReserved1_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::tagBITMAPFILEHEADER_CM *arg1 = (cmlabs::tagBITMAPFILEHEADER_CM *) 0 ;
  cmlabs::CMWORD result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPFILEHEADER_CM **)&jarg1; 
  result = (cmlabs::CMWORD) ((arg1)->bfReserved1);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPFILEHEADER_1CM_1bfReserved2_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::tagBITMAPFILEHEADER_CM *arg1 = (cmlabs::tagBITMAPFILEHEADER_CM *) 0 ;
  cmlabs::CMWORD arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPFILEHEADER_CM **)&jarg1; 
  arg2 = (cmlabs::CMWORD)jarg2; 
  if (arg1) (arg1)->bfReserved2 = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPFILEHEADER_1CM_1bfReserved2_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::tagBITMAPFILEHEADER_CM *arg1 = (cmlabs::tagBITMAPFILEHEADER_CM *) 0 ;
  cmlabs::CMWORD result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPFILEHEADER_CM **)&jarg1; 
  result = (cmlabs::CMWORD) ((arg1)->bfReserved2);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPFILEHEADER_1CM_1bfOffBits_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::tagBITMAPFILEHEADER_CM *arg1 = (cmlabs::tagBITMAPFILEHEADER_CM *) 0 ;
  cmlabs::CMDWORD arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPFILEHEADER_CM **)&jarg1; 
  arg2 = (cmlabs::CMDWORD)jarg2; 
  if (arg1) (arg1)->bfOffBits = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPFILEHEADER_1CM_1bfOffBits_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::tagBITMAPFILEHEADER_CM *arg1 = (cmlabs::tagBITMAPFILEHEADER_CM *) 0 ;
  cmlabs::CMDWORD result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPFILEHEADER_CM **)&jarg1; 
  result = (cmlabs::CMDWORD) ((arg1)->bfOffBits);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1BITMAPFILEHEADER_1CM(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::tagBITMAPFILEHEADER_CM *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::tagBITMAPFILEHEADER_CM *)new cmlabs::tagBITMAPFILEHEADER_CM();
  *(cmlabs::tagBITMAPFILEHEADER_CM **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1BITMAPFILEHEADER_1CM(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::tagBITMAPFILEHEADER_CM *arg1 = (cmlabs::tagBITMAPFILEHEADER_CM *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::tagBITMAPFILEHEADER_CM **)&jarg1; 
  delete arg1;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biSize_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMDWORD arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  arg2 = (cmlabs::CMDWORD)jarg2; 
  if (arg1) (arg1)->biSize = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biSize_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMDWORD result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  result = (cmlabs::CMDWORD) ((arg1)->biSize);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biWidth_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMLONG arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  arg2 = (cmlabs::CMLONG)jarg2; 
  if (arg1) (arg1)->biWidth = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biWidth_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMLONG result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  result = (cmlabs::CMLONG) ((arg1)->biWidth);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biHeight_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMLONG arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  arg2 = (cmlabs::CMLONG)jarg2; 
  if (arg1) (arg1)->biHeight = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biHeight_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMLONG result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  result = (cmlabs::CMLONG) ((arg1)->biHeight);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biPlanes_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMWORD arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  arg2 = (cmlabs::CMWORD)jarg2; 
  if (arg1) (arg1)->biPlanes = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biPlanes_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMWORD result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  result = (cmlabs::CMWORD) ((arg1)->biPlanes);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biBitCount_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMWORD arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  arg2 = (cmlabs::CMWORD)jarg2; 
  if (arg1) (arg1)->biBitCount = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biBitCount_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMWORD result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  result = (cmlabs::CMWORD) ((arg1)->biBitCount);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biCompression_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMDWORD arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  arg2 = (cmlabs::CMDWORD)jarg2; 
  if (arg1) (arg1)->biCompression = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biCompression_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMDWORD result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  result = (cmlabs::CMDWORD) ((arg1)->biCompression);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biSizeImage_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMDWORD arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  arg2 = (cmlabs::CMDWORD)jarg2; 
  if (arg1) (arg1)->biSizeImage = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biSizeImage_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMDWORD result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  result = (cmlabs::CMDWORD) ((arg1)->biSizeImage);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biXPelsPerMeter_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMLONG arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  arg2 = (cmlabs::CMLONG)jarg2; 
  if (arg1) (arg1)->biXPelsPerMeter = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biXPelsPerMeter_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMLONG result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  result = (cmlabs::CMLONG) ((arg1)->biXPelsPerMeter);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biYPelsPerMeter_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMLONG arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  arg2 = (cmlabs::CMLONG)jarg2; 
  if (arg1) (arg1)->biYPelsPerMeter = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biYPelsPerMeter_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMLONG result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  result = (cmlabs::CMLONG) ((arg1)->biYPelsPerMeter);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biClrUsed_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMDWORD arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  arg2 = (cmlabs::CMDWORD)jarg2; 
  if (arg1) (arg1)->biClrUsed = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biClrUsed_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMDWORD result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  result = (cmlabs::CMDWORD) ((arg1)->biClrUsed);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biClrImportant_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMDWORD arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  arg2 = (cmlabs::CMDWORD)jarg2; 
  if (arg1) (arg1)->biClrImportant = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BITMAPINFOHEADER_1CM_1biClrImportant_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  cmlabs::CMDWORD result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  result = (cmlabs::CMDWORD) ((arg1)->biClrImportant);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1BITMAPINFOHEADER_1CM(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::tagBITMAPINFOHEADER_CM *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::tagBITMAPINFOHEADER_CM *)new cmlabs::tagBITMAPINFOHEADER_CM();
  *(cmlabs::tagBITMAPINFOHEADER_CM **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1BITMAPINFOHEADER_1CM(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::tagBITMAPINFOHEADER_CM *arg1 = (cmlabs::tagBITMAPINFOHEADER_CM *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::tagBITMAPINFOHEADER_CM **)&jarg1; 
  delete arg1;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_valRGBA_1red_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2) {
  cmlabs::tagRGBA *arg1 = (cmlabs::tagRGBA *) 0 ;
  cmlabs::CMBYTE arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagRGBA **)&jarg1; 
  arg2 = (cmlabs::CMBYTE)jarg2; 
  if (arg1) (arg1)->red = arg2;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_valRGBA_1red_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jshort jresult = 0 ;
  cmlabs::tagRGBA *arg1 = (cmlabs::tagRGBA *) 0 ;
  cmlabs::CMBYTE result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagRGBA **)&jarg1; 
  result = (cmlabs::CMBYTE) ((arg1)->red);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_valRGBA_1green_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2) {
  cmlabs::tagRGBA *arg1 = (cmlabs::tagRGBA *) 0 ;
  cmlabs::CMBYTE arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagRGBA **)&jarg1; 
  arg2 = (cmlabs::CMBYTE)jarg2; 
  if (arg1) (arg1)->green = arg2;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_valRGBA_1green_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jshort jresult = 0 ;
  cmlabs::tagRGBA *arg1 = (cmlabs::tagRGBA *) 0 ;
  cmlabs::CMBYTE result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagRGBA **)&jarg1; 
  result = (cmlabs::CMBYTE) ((arg1)->green);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_valRGBA_1blue_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2) {
  cmlabs::tagRGBA *arg1 = (cmlabs::tagRGBA *) 0 ;
  cmlabs::CMBYTE arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagRGBA **)&jarg1; 
  arg2 = (cmlabs::CMBYTE)jarg2; 
  if (arg1) (arg1)->blue = arg2;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_valRGBA_1blue_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jshort jresult = 0 ;
  cmlabs::tagRGBA *arg1 = (cmlabs::tagRGBA *) 0 ;
  cmlabs::CMBYTE result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagRGBA **)&jarg1; 
  result = (cmlabs::CMBYTE) ((arg1)->blue);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_valRGBA_1alpha_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2) {
  cmlabs::tagRGBA *arg1 = (cmlabs::tagRGBA *) 0 ;
  cmlabs::CMBYTE arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagRGBA **)&jarg1; 
  arg2 = (cmlabs::CMBYTE)jarg2; 
  if (arg1) (arg1)->alpha = arg2;
}


SWIGEXPORT jshort JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_valRGBA_1alpha_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jshort jresult = 0 ;
  cmlabs::tagRGBA *arg1 = (cmlabs::tagRGBA *) 0 ;
  cmlabs::CMBYTE result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::tagRGBA **)&jarg1; 
  result = (cmlabs::CMBYTE) ((arg1)->alpha);
  jresult = (jshort)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1valRGBA(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::tagRGBA *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::tagRGBA *)new cmlabs::tagRGBA();
  *(cmlabs::tagRGBA **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1valRGBA(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::tagRGBA *arg1 = (cmlabs::tagRGBA *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::tagRGBA **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1Pixel(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::Pixel *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::Pixel *)new cmlabs::Pixel();
  *(cmlabs::Pixel **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Pixel_1x_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::Pixel *arg1 = (cmlabs::Pixel *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Pixel **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->x = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Pixel_1x_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::Pixel *arg1 = (cmlabs::Pixel *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Pixel **)&jarg1; 
  result = (uint32) ((arg1)->x);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Pixel_1y_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::Pixel *arg1 = (cmlabs::Pixel *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Pixel **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->y = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Pixel_1y_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::Pixel *arg1 = (cmlabs::Pixel *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Pixel **)&jarg1; 
  result = (uint32) ((arg1)->y);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Pixel_1value_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::Pixel *arg1 = (cmlabs::Pixel *) 0 ;
  uint32 *arg2 = (uint32 *) 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Pixel **)&jarg1; 
  arg2 = *(uint32 **)&jarg2; 
  if (arg1) (arg1)->value = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Pixel_1value_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::Pixel *arg1 = (cmlabs::Pixel *) 0 ;
  uint32 *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Pixel **)&jarg1; 
  result = (uint32 *) ((arg1)->value);
  *(uint32 **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1Pixel(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::Pixel *arg1 = (cmlabs::Pixel *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::Pixel **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1Bitmap_1_1SWIG_10(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::Bitmap *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::Bitmap *)new cmlabs::Bitmap();
  *(cmlabs::Bitmap **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1Bitmap_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2) {
  jlong jresult = 0 ;
  uint32 arg1 ;
  uint32 arg2 ;
  cmlabs::Bitmap *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = (uint32)jarg1; 
  arg2 = (uint32)jarg2; 
  result = (cmlabs::Bitmap *)new cmlabs::Bitmap(arg1,arg2);
  *(cmlabs::Bitmap **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1Bitmap_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2, jlong jarg3, jboolean jarg4) {
  jlong jresult = 0 ;
  char *arg1 = (char *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  bool arg4 ;
  cmlabs::Bitmap *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = jarg4 ? true : false; 
  result = (cmlabs::Bitmap *)new cmlabs::Bitmap(arg1,arg2,arg3,arg4);
  *(cmlabs::Bitmap **)&jresult = result; 
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1Bitmap_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2, jlong jarg3) {
  jlong jresult = 0 ;
  char *arg1 = (char *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  cmlabs::Bitmap *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  result = (cmlabs::Bitmap *)new cmlabs::Bitmap(arg1,arg2,arg3);
  *(cmlabs::Bitmap **)&jresult = result; 
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1Bitmap_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2, jlong jarg3, jlong jarg4, jlong jarg5) {
  jlong jresult = 0 ;
  char *arg1 = (char *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  uint32 arg5 ;
  cmlabs::Bitmap *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = (uint32)jarg5; 
  result = (cmlabs::Bitmap *)new cmlabs::Bitmap((char const *)arg1,arg2,arg3,arg4,arg5);
  *(cmlabs::Bitmap **)&jresult = result; 
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1Bitmap_1_1SWIG_15(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2, jlong jarg3, jlong jarg4, jstring jarg5) {
  jlong jresult = 0 ;
  char *arg1 = (char *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  char *arg5 = (char *) 0 ;
  cmlabs::Bitmap *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = 0;
  if (jarg5) {
    arg5 = (char *)jenv->GetStringUTFChars(jarg5, 0);
    if (!arg5) return 0;
  }
  result = (cmlabs::Bitmap *)new cmlabs::Bitmap((char const *)arg1,arg2,arg3,arg4,(char const *)arg5);
  *(cmlabs::Bitmap **)&jresult = result; 
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  if (arg5) jenv->ReleaseStringUTFChars(jarg5, (const char *)arg5);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1Bitmap_1_1SWIG_16(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2, jlong jarg3, jlong jarg4, jstring jarg5, jlong jarg6) {
  jlong jresult = 0 ;
  char *arg1 = (char *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  char *arg5 = (char *) 0 ;
  uint32 arg6 ;
  cmlabs::Bitmap *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = 0;
  if (jarg5) {
    arg5 = (char *)jenv->GetStringUTFChars(jarg5, 0);
    if (!arg5) return 0;
  }
  arg6 = (uint32)jarg6; 
  result = (cmlabs::Bitmap *)new cmlabs::Bitmap((char const *)arg1,arg2,arg3,arg4,(char const *)arg5,arg6);
  *(cmlabs::Bitmap **)&jresult = result; 
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  if (arg5) jenv->ReleaseStringUTFChars(jarg5, (const char *)arg5);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1Bitmap_1_1SWIG_17(JNIEnv *jenv, jclass jcls, jstring jarg1) {
  jlong jresult = 0 ;
  char *arg1 = (char *) 0 ;
  cmlabs::Bitmap *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  result = (cmlabs::Bitmap *)new cmlabs::Bitmap((char const *)arg1);
  *(cmlabs::Bitmap **)&jresult = result; 
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1Bitmap_1_1SWIG_18(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  cmlabs::Bitmap *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  result = (cmlabs::Bitmap *)new cmlabs::Bitmap(arg1);
  *(cmlabs::Bitmap **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1Bitmap_1_1SWIG_19(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::DataMessage *arg1 = (cmlabs::DataMessage *) 0 ;
  cmlabs::Bitmap *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::DataMessage **)&jarg1; 
  result = (cmlabs::Bitmap *)new cmlabs::Bitmap(arg1);
  *(cmlabs::Bitmap **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1Bitmap(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1init_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  result = (bool)(arg1)->init(arg2,arg3);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1init_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jlong jarg4, jlong jarg5, jstring jarg6, jlong jarg7) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 arg3 ;
  uint32 arg4 ;
  uint32 arg5 ;
  char *arg6 = (char *) 0 ;
  uint32 arg7 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = (uint32)jarg5; 
  arg6 = 0;
  if (jarg6) {
    arg6 = (char *)jenv->GetStringUTFChars(jarg6, 0);
    if (!arg6) return 0;
  }
  arg7 = (uint32)jarg7; 
  result = (bool)(arg1)->init((char const *)arg2,arg3,arg4,arg5,(char const *)arg6,arg7);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg6) jenv->ReleaseStringUTFChars(jarg6, (const char *)arg6);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1toMessage(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  result = (cmlabs::DataMessage *)(arg1)->toMessage();
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1updateBitmap(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jboolean jarg3) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  cmlabs::BitmapUpdate *arg2 = (cmlabs::BitmapUpdate *) 0 ;
  bool arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(cmlabs::BitmapUpdate **)&jarg2; 
  arg3 = jarg3 ? true : false; 
  result = (bool)(arg1)->updateBitmap(arg2,arg3);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1runLengthEncode(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  cmlabs::BitmapUpdate *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  result = (cmlabs::BitmapUpdate *)((cmlabs::Bitmap const *)arg1)->runLengthEncode();
  *(cmlabs::BitmapUpdate **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1runLengthDestructiveEncode(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  cmlabs::BitmapUpdate *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  result = (cmlabs::BitmapUpdate *)((cmlabs::Bitmap const *)arg1)->runLengthDestructiveEncode();
  *(cmlabs::BitmapUpdate **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1reset(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  result = (bool)(arg1)->reset();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1mirror(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2, jboolean jarg3) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  bool arg2 ;
  bool arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = jarg2 ? true : false; 
  arg3 = jarg3 ? true : false; 
  result = (bool)(arg1)->mirror(arg2,arg3);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1setPixel_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jshort jarg4, jshort jarg5, jshort jarg6, jshort jarg7) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint8 arg4 ;
  uint8 arg5 ;
  uint8 arg6 ;
  uint8 arg7 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint8)jarg4; 
  arg5 = (uint8)jarg5; 
  arg6 = (uint8)jarg6; 
  arg7 = (uint8)jarg7; 
  result = (bool)(arg1)->setPixel(arg2,arg3,arg4,arg5,arg6,arg7);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1setPixel_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jshort jarg4, jshort jarg5, jshort jarg6) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint8 arg4 ;
  uint8 arg5 ;
  uint8 arg6 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint8)jarg4; 
  arg5 = (uint8)jarg5; 
  arg6 = (uint8)jarg6; 
  result = (bool)(arg1)->setPixel(arg2,arg3,arg4,arg5,arg6);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1setPixel_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jshort jarg3, jshort jarg4, jshort jarg5, jshort jarg6) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint8 arg3 ;
  uint8 arg4 ;
  uint8 arg5 ;
  uint8 arg6 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint8)jarg3; 
  arg4 = (uint8)jarg4; 
  arg5 = (uint8)jarg5; 
  arg6 = (uint8)jarg6; 
  result = (bool)(arg1)->setPixel(arg2,arg3,arg4,arg5,arg6);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1setPixel_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jshort jarg3, jshort jarg4, jshort jarg5) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint8 arg3 ;
  uint8 arg4 ;
  uint8 arg5 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint8)jarg3; 
  arg4 = (uint8)jarg4; 
  arg5 = (uint8)jarg5; 
  result = (bool)(arg1)->setPixel(arg2,arg3,arg4,arg5);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1setPixelXOR_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jshort jarg4, jshort jarg5, jshort jarg6, jshort jarg7) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint8 arg4 ;
  uint8 arg5 ;
  uint8 arg6 ;
  uint8 arg7 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint8)jarg4; 
  arg5 = (uint8)jarg5; 
  arg6 = (uint8)jarg6; 
  arg7 = (uint8)jarg7; 
  result = (bool)(arg1)->setPixelXOR(arg2,arg3,arg4,arg5,arg6,arg7);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1setPixelXOR_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jshort jarg4, jshort jarg5, jshort jarg6) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint8 arg4 ;
  uint8 arg5 ;
  uint8 arg6 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint8)jarg4; 
  arg5 = (uint8)jarg5; 
  arg6 = (uint8)jarg6; 
  result = (bool)(arg1)->setPixelXOR(arg2,arg3,arg4,arg5,arg6);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1setPixelXOR_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jshort jarg3, jshort jarg4, jshort jarg5, jshort jarg6) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint8 arg3 ;
  uint8 arg4 ;
  uint8 arg5 ;
  uint8 arg6 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint8)jarg3; 
  arg4 = (uint8)jarg4; 
  arg5 = (uint8)jarg5; 
  arg6 = (uint8)jarg6; 
  result = (bool)(arg1)->setPixelXOR(arg2,arg3,arg4,arg5,arg6);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1setPixelXOR_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jshort jarg3, jshort jarg4, jshort jarg5) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint8 arg3 ;
  uint8 arg4 ;
  uint8 arg5 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint8)jarg3; 
  arg4 = (uint8)jarg4; 
  arg5 = (uint8)jarg5; 
  result = (bool)(arg1)->setPixelXOR(arg2,arg3,arg4,arg5);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1getPixel_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  jlong jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  cmlabs::Pixel result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  result = (arg1)->getPixel(arg2,arg3);
  *(cmlabs::Pixel **)&jresult = new cmlabs::Pixel((const cmlabs::Pixel &)result); 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1getPixel_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  cmlabs::Pixel *arg2 = (cmlabs::Pixel *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(cmlabs::Pixel **)&jarg2; 
  result = (bool)(arg1)->getPixel(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1getPos(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  jlong jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  result = (uint32)(arg1)->getPos(arg2,arg3);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1getDPos(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2, jdouble jarg3) {
  jdouble jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  double arg2 ;
  double arg3 ;
  double result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (double)jarg2; 
  arg3 = (double)jarg3; 
  result = (double)(arg1)->getDPos(arg2,arg3);
  jresult = (jdouble)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1getXY(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jlong jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  cmlabs::Pixel result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (arg1)->getXY(arg2);
  *(cmlabs::Pixel **)&jresult = new cmlabs::Pixel((const cmlabs::Pixel &)result); 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1getPixelColor(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  jlong jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  Color result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  result = (arg1)->getPixelColor(arg2,arg3);
  *(Color **)&jresult = new Color((const Color &)result); 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1eraseBitmap_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  result = (bool)(arg1)->eraseBitmap();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1eraseBitmap_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2, jshort jarg3, jshort jarg4, jshort jarg5) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint8 arg2 ;
  uint8 arg3 ;
  uint8 arg4 ;
  uint8 arg5 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint8)jarg2; 
  arg3 = (uint8)jarg3; 
  arg4 = (uint8)jarg4; 
  arg5 = (uint8)jarg5; 
  result = (bool)(arg1)->eraseBitmap(arg2,arg3,arg4,arg5);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1eraseBitmap_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshort jarg2, jshort jarg3, jshort jarg4) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint8 arg2 ;
  uint8 arg3 ;
  uint8 arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint8)jarg2; 
  arg3 = (uint8)jarg3; 
  arg4 = (uint8)jarg4; 
  result = (bool)(arg1)->eraseBitmap(arg2,arg3,arg4);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1eraseBitmap_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  Color *arg2 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(Color **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Color const & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->eraseBitmap((Color const &)*arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1replaceColor(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  Color *arg2 = 0 ;
  Color *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(Color **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Color const & reference is null");
    return 0;
  } 
  arg3 = *(Color **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Color const & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->replaceColor((Color const &)*arg2,(Color const &)*arg3);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1fillBox_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  Box *arg2 = 0 ;
  Color *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(Box **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Box const & reference is null");
    return 0;
  } 
  arg3 = *(Color **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Color const & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->fillBox((Box const &)*arg2,(Color const &)*arg3);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1fillBox_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jlong jarg4, jlong jarg5, jlong jarg6) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  uint32 arg5 ;
  Color *arg6 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = (uint32)jarg5; 
  arg6 = *(Color **)&jarg6;
  if (!arg6) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Color const & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->fillBox(arg2,arg3,arg4,arg5,(Color const &)*arg6);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1putTransPixel(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jlong jarg4, jdouble jarg5) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  Color *arg4 = 0 ;
  double arg5 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = *(Color **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Color const & reference is null");
    return 0;
  } 
  arg5 = (double)jarg5; 
  result = (bool)(arg1)->putTransPixel(arg2,arg3,(Color const &)*arg4,arg5);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1drawLine_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  Line *arg2 = 0 ;
  Color *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(Line **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Line const & reference is null");
    return 0;
  } 
  arg3 = *(Color **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Color const & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->drawLine((Line const &)*arg2,(Color const &)*arg3);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1drawLine_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  PolyLine *arg2 = 0 ;
  Color *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(PolyLine **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "PolyLine const & reference is null");
    return 0;
  } 
  arg3 = *(Color **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Color const & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->drawLine((PolyLine const &)*arg2,(Color const &)*arg3);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1drawBox(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  Box *arg2 = 0 ;
  Color *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(Box **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Box const & reference is null");
    return 0;
  } 
  arg3 = *(Color **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Color const & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->drawBox((Box const &)*arg2,(Color const &)*arg3);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1drawCircle_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jlong jarg4, jlong jarg5, jdouble jarg6, jdouble jarg7, jboolean jarg8) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  Color *arg5 = 0 ;
  double arg6 ;
  double arg7 ;
  bool arg8 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = *(Color **)&jarg5;
  if (!arg5) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Color const & reference is null");
    return 0;
  } 
  arg6 = (double)jarg6; 
  arg7 = (double)jarg7; 
  arg8 = jarg8 ? true : false; 
  result = (bool)(arg1)->drawCircle(arg2,arg3,arg4,(Color const &)*arg5,arg6,arg7,arg8);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1drawCircle_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jlong jarg4, jlong jarg5, jdouble jarg6, jdouble jarg7) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  Color *arg5 = 0 ;
  double arg6 ;
  double arg7 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = *(Color **)&jarg5;
  if (!arg5) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Color const & reference is null");
    return 0;
  } 
  arg6 = (double)jarg6; 
  arg7 = (double)jarg7; 
  result = (bool)(arg1)->drawCircle(arg2,arg3,arg4,(Color const &)*arg5,arg6,arg7);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1putQuadPixel(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jlong jarg4, jlong jarg5, jlong jarg6, jdouble jarg7) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  uint32 arg5 ;
  Color *arg6 = 0 ;
  double arg7 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = (uint32)jarg5; 
  arg6 = *(Color **)&jarg6;
  if (!arg6) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Color const & reference is null");
    return 0;
  } 
  arg7 = (double)jarg7; 
  result = (bool)(arg1)->putQuadPixel(arg2,arg3,arg4,arg5,(Color const &)*arg6,arg7);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1drawBitmap_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jlong jarg4) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  cmlabs::Bitmap *arg2 = (cmlabs::Bitmap *) 0 ;
  uint32 arg3 ;
  uint32 arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(cmlabs::Bitmap **)&jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  result = (bool)(arg1)->drawBitmap(arg2,arg3,arg4);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1drawBitmap_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jlong jarg4, jlong jarg5, jlong jarg6) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  cmlabs::Bitmap *arg2 = (cmlabs::Bitmap *) 0 ;
  uint32 arg3 ;
  uint32 arg4 ;
  uint32 arg5 ;
  uint32 arg6 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(cmlabs::Bitmap **)&jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = (uint32)jarg5; 
  arg6 = (uint32)jarg6; 
  result = (bool)(arg1)->drawBitmap(arg2,arg3,arg4,arg5,arg6);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1drawBitmap_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  cmlabs::Bitmap *arg2 = (cmlabs::Bitmap *) 0 ;
  Point *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(cmlabs::Bitmap **)&jarg2; 
  arg3 = *(Point **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Point const & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->drawBitmap(arg2,(Point const &)*arg3);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1drawBitmap_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  cmlabs::Bitmap *arg2 = (cmlabs::Bitmap *) 0 ;
  Box *arg3 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(cmlabs::Bitmap **)&jarg2; 
  arg3 = *(Box **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Box const & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->drawBitmap(arg2,(Box const &)*arg3);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1drawBitmap_1_1SWIG_14(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jlong jarg3, jlong jarg4, jlong jarg5, jlong jarg6, jlong jarg7, jlong jarg8) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  cmlabs::Bitmap *arg2 = (cmlabs::Bitmap *) 0 ;
  uint32 arg3 ;
  uint32 arg4 ;
  uint32 arg5 ;
  uint32 arg6 ;
  uint32 arg7 ;
  uint32 arg8 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(cmlabs::Bitmap **)&jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = (uint32)jarg5; 
  arg6 = (uint32)jarg6; 
  arg7 = (uint32)jarg7; 
  arg8 = (uint32)jarg8; 
  result = (bool)(arg1)->drawBitmap(arg2,arg3,arg4,arg5,arg6,arg7,arg8);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1getCopy(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jlong jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  Box *arg2 = 0 ;
  cmlabs::Bitmap *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(Box **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Box const & reference is null");
    return 0;
  } 
  result = (cmlabs::Bitmap *)(arg1)->getCopy((Box const &)*arg2);
  *(cmlabs::Bitmap **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1canBeResizedTo(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  result = (bool)(arg1)->canBeResizedTo(arg2,arg3);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1getResizedCopy_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jboolean jarg4) {
  jlong jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  bool arg4 ;
  cmlabs::Bitmap *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = jarg4 ? true : false; 
  result = (cmlabs::Bitmap *)(arg1)->getResizedCopy(arg2,arg3,arg4);
  *(cmlabs::Bitmap **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1getResizedCopy_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2) {
  jlong jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  double arg2 ;
  cmlabs::Bitmap *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (double)jarg2; 
  result = (cmlabs::Bitmap *)(arg1)->getResizedCopy(arg2);
  *(cmlabs::Bitmap **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1resizeTo(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jboolean jarg4) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  bool arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = jarg4 ? true : false; 
  result = (bool)(arg1)->resizeTo(arg2,arg3,arg4);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1copyDataFromBitmap_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jboolean jarg3) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  cmlabs::Bitmap *arg2 = (cmlabs::Bitmap *) 0 ;
  bool arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(cmlabs::Bitmap **)&jarg2; 
  arg3 = jarg3 ? true : false; 
  result = (bool)(arg1)->copyDataFromBitmap(arg2,arg3);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1copyDataFromBitmap_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  cmlabs::Bitmap *arg2 = (cmlabs::Bitmap *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(cmlabs::Bitmap **)&jarg2; 
  result = (bool)(arg1)->copyDataFromBitmap(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1takeDataFromBitmap(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  cmlabs::Bitmap *arg2 = (cmlabs::Bitmap *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(cmlabs::Bitmap **)&jarg2; 
  result = (bool)(arg1)->takeDataFromBitmap(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1getBestResizeFactor(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2) {
  jdouble jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  double arg2 ;
  double result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (double)jarg2; 
  result = (double)(arg1)->getBestResizeFactor(arg2);
  jresult = (jdouble)result; 
  return jresult;
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1getBestResizeFactors(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2, jlong jarg3, jlong jarg4, jlong jarg5) {
  jdouble jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  double arg2 ;
  int *arg3 = 0 ;
  int *arg4 = 0 ;
  int *arg5 = 0 ;
  double result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (double)jarg2; 
  arg3 = *(int **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "int & reference is null");
    return 0;
  } 
  arg4 = *(int **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "int & reference is null");
    return 0;
  } 
  arg5 = *(int **)&jarg5;
  if (!arg5) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "int & reference is null");
    return 0;
  } 
  result = (double)(arg1)->getBestResizeFactors(arg2,*arg3,*arg4,*arg5);
  jresult = (jdouble)result; 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1createResizedData(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jint jarg4, jint jarg5, jint jarg6) {
  jstring jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  int32 arg4 ;
  int32 arg5 ;
  int32 arg6 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (int32)jarg4; 
  arg5 = (int32)jarg5; 
  arg6 = (int32)jarg6; 
  result = (char *)(arg1)->createResizedData(arg2,arg3,arg4,arg5,arg6);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1readFromMemory(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (uint32)jarg3; 
  result = (bool)(arg1)->readFromMemory((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1readFromFile(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->readFromFile((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1saveToFile(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->saveToFile((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1convertBitmapFileData(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2, jlong jarg3, jlong jarg4, jstring jarg5, jlong jarg6) {
  jboolean jresult = 0 ;
  char *arg1 = (char *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  char *arg5 = (char *) 0 ;
  uint32 arg6 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = 0;
  if (jarg5) {
    arg5 = (char *)jenv->GetStringUTFChars(jarg5, 0);
    if (!arg5) return 0;
  }
  arg6 = (uint32)jarg6; 
  result = (bool)cmlabs::Bitmap::convertBitmapFileData((char const *)arg1,arg2,arg3,arg4,arg5,arg6);
  jresult = (jboolean)result; 
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  if (arg5) jenv->ReleaseStringUTFChars(jarg5, (const char *)arg5);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1convertBitmapFileDataRunLength(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2, jlong jarg3, jlong jarg4, jlong jarg5) {
  jstring jresult = 0 ;
  char *arg1 = (char *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  uint32 *arg5 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = *(uint32 **)&jarg5;
  if (!arg5) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)cmlabs::Bitmap::convertBitmapFileDataRunLength((char const *)arg1,arg2,arg3,arg4,*arg5);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1differenceBitmapFileData(JNIEnv *jenv, jclass jcls, jstring jarg1, jstring jarg2, jlong jarg3, jlong jarg4, jlong jarg5, jlong jarg6) {
  jstring jresult = 0 ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 arg3 ;
  uint32 arg4 ;
  uint32 arg5 ;
  uint32 *arg6 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = (uint32)jarg5; 
  arg6 = *(uint32 **)&jarg6;
  if (!arg6) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)cmlabs::Bitmap::differenceBitmapFileData(arg1,arg2,arg3,arg4,arg5,*arg6);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1differenceBitmapFileDataRunLength(JNIEnv *jenv, jclass jcls, jstring jarg1, jstring jarg2, jlong jarg3, jlong jarg4, jlong jarg5, jlong jarg6) {
  jstring jresult = 0 ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 arg3 ;
  uint32 arg4 ;
  uint32 arg5 ;
  uint32 *arg6 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = (uint32)jarg5; 
  arg6 = *(uint32 **)&jarg6;
  if (!arg6) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)cmlabs::Bitmap::differenceBitmapFileDataRunLength(arg1,arg2,arg3,arg4,arg5,*arg6);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1getCompressedUpdate(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jboolean jarg2) {
  jlong jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  bool arg2 ;
  cmlabs::BitmapUpdate *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = jarg2 ? true : false; 
  result = (cmlabs::BitmapUpdate *)((cmlabs::Bitmap const *)arg1)->getCompressedUpdate(arg2);
  *(cmlabs::BitmapUpdate **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1getGrayScaleDataCopy(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jstring jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 *arg2 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(uint32 **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)(arg1)->getGrayScaleDataCopy(*arg2);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1copyGrayScaleData(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (uint32)jarg3; 
  result = (bool)(arg1)->copyGrayScaleData(arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1resetBitmapUpdates(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  result = (bool)(arg1)->resetBitmapUpdates();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1setBitmapUpdated(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  result = (bool)(arg1)->setBitmapUpdated();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1addBitmapUpdateRegion(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  Box *arg2 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(Box **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Box const & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->addBitmapUpdateRegion((Box const &)*arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1hasBitmapBeenUpdated(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  result = (bool)(arg1)->hasBitmapBeenUpdated();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1hasBitmapBeenTotallyChanged(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  result = (bool)(arg1)->hasBitmapBeenTotallyChanged();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1width_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->width = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1width_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  result = (uint32) ((arg1)->width);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1height_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->height = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1height_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  result = (uint32) ((arg1)->height);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1size_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->size = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1size_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  result = (uint32) ((arg1)->size);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1data_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  char *arg2 = (char *) 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    delete [] arg1->data;
    if (arg2) {
      arg1->data = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->data, (const char *)arg2);
    } else {
      arg1->data = 0;
    }
  }
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1data_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  result = (char *) ((arg1)->data);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1updateRegion_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  Box arg2 ;
  Box *argp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  argp2 = *(Box **)&jarg2; 
  if (!argp2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null Box");
    return ;
  }
  arg2 = *argp2; 
  if (arg1) (arg1)->updateRegion = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1updateRegion_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  Box result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  result =  ((arg1)->updateRegion);
  *(Box **)&jresult = new Box((const Box &)result); 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1round(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2) {
  jint jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  double arg2 ;
  int32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = (double)jarg2; 
  result = (int32)(arg1)->round(arg2);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1toBitmapFileFormat(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jstring jresult = 0 ;
  cmlabs::Bitmap *arg1 = (cmlabs::Bitmap *) 0 ;
  uint32 *arg2 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::Bitmap **)&jarg1; 
  arg2 = *(uint32 **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)(arg1)->toBitmapFileFormat(*arg2);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1DataToBitmapFileFormat_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2, jlong jarg3, jlong jarg4, jlong jarg5) {
  jstring jresult = 0 ;
  char *arg1 = (char *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  uint32 *arg5 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = *(uint32 **)&jarg5;
  if (!arg5) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)cmlabs::Bitmap::DataToBitmapFileFormat((char const *)arg1,arg2,arg3,arg4,*arg5);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1DataToBitmapFileFormat_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2, jlong jarg3, jlong jarg4, jlong jarg5, jlong jarg6) {
  jstring jresult = 0 ;
  char *arg1 = (char *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  uint32 arg5 ;
  uint32 *arg6 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = (uint32)jarg5; 
  arg6 = *(uint32 **)&jarg6;
  if (!arg6) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)cmlabs::Bitmap::DataToBitmapFileFormat((char const *)arg1,arg2,arg3,arg4,arg5,*arg6);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1DataToBitmapFileFormat_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2, jlong jarg3, jlong jarg4, jstring jarg5, jlong jarg6) {
  jstring jresult = 0 ;
  char *arg1 = (char *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  char *arg5 = (char *) 0 ;
  uint32 *arg6 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = 0;
  if (jarg5) {
    arg5 = (char *)jenv->GetStringUTFChars(jarg5, 0);
    if (!arg5) return 0;
  }
  arg6 = *(uint32 **)&jarg6;
  if (!arg6) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)cmlabs::Bitmap::DataToBitmapFileFormat((char const *)arg1,arg2,arg3,arg4,(char const *)arg5,*arg6);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  if (arg5) jenv->ReleaseStringUTFChars(jarg5, (const char *)arg5);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1DataToBitmapFileFormat_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2, jlong jarg3, jlong jarg4, jstring jarg5, jlong jarg6, jlong jarg7) {
  jstring jresult = 0 ;
  char *arg1 = (char *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  char *arg5 = (char *) 0 ;
  uint32 arg6 ;
  uint32 *arg7 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = 0;
  if (jarg5) {
    arg5 = (char *)jenv->GetStringUTFChars(jarg5, 0);
    if (!arg5) return 0;
  }
  arg6 = (uint32)jarg6; 
  arg7 = *(uint32 **)&jarg7;
  if (!arg7) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)cmlabs::Bitmap::DataToBitmapFileFormat((char const *)arg1,arg2,arg3,arg4,(char const *)arg5,arg6,*arg7);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  if (arg5) jenv->ReleaseStringUTFChars(jarg5, (const char *)arg5);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_Bitmap_1DataToEncodingFormat(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2, jlong jarg3, jlong jarg4, jstring jarg5, jlong jarg6, jstring jarg7, jlong jarg8) {
  jstring jresult = 0 ;
  char *arg1 = (char *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  uint32 arg4 ;
  char *arg5 = (char *) 0 ;
  uint32 arg6 ;
  char *arg7 = (char *) 0 ;
  uint32 *arg8 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  arg4 = (uint32)jarg4; 
  arg5 = 0;
  if (jarg5) {
    arg5 = (char *)jenv->GetStringUTFChars(jarg5, 0);
    if (!arg5) return 0;
  }
  arg6 = (uint32)jarg6; 
  arg7 = 0;
  if (jarg7) {
    arg7 = (char *)jenv->GetStringUTFChars(jarg7, 0);
    if (!arg7) return 0;
  }
  arg8 = *(uint32 **)&jarg8;
  if (!arg8) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)cmlabs::Bitmap::DataToEncodingFormat((char const *)arg1,arg2,arg3,arg4,(char const *)arg5,arg6,(char const *)arg7,*arg8);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  if (arg5) jenv->ReleaseStringUTFChars(jarg5, (const char *)arg5);
  if (arg7) jenv->ReleaseStringUTFChars(jarg7, (const char *)arg7);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ImageResizeDown66(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2, jlong jarg3) {
  jstring jresult = 0 ;
  char *arg1 = (char *) 0 ;
  uint32 *arg2 = 0 ;
  uint32 *arg3 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = *(uint32 **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  arg3 = *(uint32 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)cmlabs::ImageResizeDown66(arg1,*arg2,*arg3);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ImageResizeDown(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2, jlong jarg3, jlong jarg4) {
  jstring jresult = 0 ;
  char *arg1 = (char *) 0 ;
  uint32 *arg2 = 0 ;
  uint32 *arg3 = 0 ;
  uint32 arg4 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = *(uint32 **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  arg3 = *(uint32 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  arg4 = (uint32)jarg4; 
  result = (char *)cmlabs::ImageResizeDown(arg1,*arg2,*arg3,arg4);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ImageResizeUp66(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2, jlong jarg3) {
  jstring jresult = 0 ;
  char *arg1 = (char *) 0 ;
  uint32 *arg2 = 0 ;
  uint32 *arg3 = 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = *(uint32 **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  arg3 = *(uint32 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (char *)cmlabs::ImageResizeUp66(arg1,*arg2,*arg3);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ImageResizeUp(JNIEnv *jenv, jclass jcls, jstring jarg1, jlong jarg2, jlong jarg3, jlong jarg4) {
  jstring jresult = 0 ;
  char *arg1 = (char *) 0 ;
  uint32 *arg2 = 0 ;
  uint32 *arg3 = 0 ;
  uint32 arg4 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = *(uint32 **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  arg3 = *(uint32 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  arg4 = (uint32)jarg4; 
  result = (char *)cmlabs::ImageResizeUp(arg1,*arg2,*arg3,arg4);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1type_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  enum cmlabs::BitmapUpdate::Type arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  arg2 = (enum cmlabs::BitmapUpdate::Type)jarg2; 
  if (arg1) (arg1)->type = arg2;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1type_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  enum cmlabs::BitmapUpdate::Type result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  result = (enum cmlabs::BitmapUpdate::Type) ((arg1)->type);
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1BitmapUpdate_1_1SWIG_10(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::BitmapUpdate *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::BitmapUpdate *)new cmlabs::BitmapUpdate();
  *(cmlabs::BitmapUpdate **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1BitmapUpdate_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2) {
  jlong jresult = 0 ;
  uint32 arg1 ;
  uint32 arg2 ;
  cmlabs::BitmapUpdate *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = (uint32)jarg1; 
  arg2 = (uint32)jarg2; 
  result = (cmlabs::BitmapUpdate *)new cmlabs::BitmapUpdate(arg1,arg2);
  *(cmlabs::BitmapUpdate **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1BitmapUpdate_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jstring jarg1, jboolean jarg2) {
  jlong jresult = 0 ;
  char *arg1 = (char *) 0 ;
  bool arg2 ;
  cmlabs::BitmapUpdate *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
    if (!arg1) return 0;
  }
  arg2 = jarg2 ? true : false; 
  result = (cmlabs::BitmapUpdate *)new cmlabs::BitmapUpdate((char const *)arg1,arg2);
  *(cmlabs::BitmapUpdate **)&jresult = result; 
  if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1BitmapUpdate(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1init(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  uint32 arg2 ;
  uint32 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = (uint32)jarg3; 
  result = (bool)(arg1)->init(arg2,arg3);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1reset(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  result = (bool)(arg1)->reset();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1update(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
  jboolean jresult = 0 ;
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  cmlabs::BitmapUpdate *arg2 = (cmlabs::BitmapUpdate *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  arg2 = *(cmlabs::BitmapUpdate **)&jarg2; 
  result = (bool)(arg1)->update(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1toBitmap(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  cmlabs::Bitmap *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  result = (cmlabs::Bitmap *)(arg1)->toBitmap();
  *(cmlabs::Bitmap **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1setUpdateType(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  jboolean jresult = 0 ;
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  cmlabs::BitmapUpdate::Type arg2 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  arg2 = (cmlabs::BitmapUpdate::Type)jarg2; 
  result = (bool)(arg1)->setUpdateType(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jint JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1getUpdateType(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jint jresult = 0 ;
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  cmlabs::BitmapUpdate::Type result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  result = (cmlabs::BitmapUpdate::Type)(arg1)->getUpdateType();
  jresult = (jint)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1setFullUpdate(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
  jboolean jresult = 0 ;
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  cmlabs::Bitmap *arg2 = (cmlabs::Bitmap *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  arg2 = *(cmlabs::Bitmap **)&jarg2; 
  result = (bool)(arg1)->setFullUpdate(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1readFromFile(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->readFromFile((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1readFromFileRLE(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->readFromFileRLE((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1readFromFileDiff(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jobject jarg3_) {
  jboolean jresult = 0 ;
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  char *arg2 = (char *) 0 ;
  cmlabs::Bitmap *arg3 = (cmlabs::Bitmap *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg3_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(cmlabs::Bitmap **)&jarg3; 
  result = (bool)(arg1)->readFromFileDiff((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1readFromFileRLEDiff(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jobject jarg3_) {
  jboolean jresult = 0 ;
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  char *arg2 = (char *) 0 ;
  cmlabs::Bitmap *arg3 = (cmlabs::Bitmap *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg3_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(cmlabs::Bitmap **)&jarg3; 
  result = (bool)(arg1)->readFromFileRLEDiff((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1width_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->width = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1width_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  result = (uint32) ((arg1)->width);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1height_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->height = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1height_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  result = (uint32) ((arg1)->height);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1size_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->size = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1size_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  result = (uint32) ((arg1)->size);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1data_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  char *arg2 = (char *) 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    delete [] arg1->data;
    if (arg2) {
      arg1->data = (char *) (new char[strlen((const char *)arg2)+1]);
      strcpy((char *)arg1->data, (const char *)arg2);
    } else {
      arg1->data = 0;
    }
  }
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_BitmapUpdate_1data_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::BitmapUpdate *arg1 = (cmlabs::BitmapUpdate *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::BitmapUpdate **)&jarg1; 
  result = (char *) ((arg1)->data);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ReplayIndexEntry_1cid_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::ReplayIndexEntry *arg1 = (cmlabs::ReplayIndexEntry *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ReplayIndexEntry **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->cid = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ReplayIndexEntry_1cid_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::ReplayIndexEntry *arg1 = (cmlabs::ReplayIndexEntry *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ReplayIndexEntry **)&jarg1; 
  result = (uint32) ((arg1)->cid);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ReplayIndexEntry_1serial_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::ReplayIndexEntry *arg1 = (cmlabs::ReplayIndexEntry *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ReplayIndexEntry **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->serial = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ReplayIndexEntry_1serial_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::ReplayIndexEntry *arg1 = (cmlabs::ReplayIndexEntry *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ReplayIndexEntry **)&jarg1; 
  result = (uint64) ((arg1)->serial);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ReplayIndexEntry_1msgTime_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jobject jarg2) {
  cmlabs::ReplayIndexEntry *arg1 = (cmlabs::ReplayIndexEntry *) 0 ;
  uint64 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ReplayIndexEntry **)&jarg1; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg2) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return ;
    }
    clazz = jenv->GetObjectClass(jarg2);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg2, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg2 = 0;
    if (sz > 0) {
      arg2 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg2 = (arg2 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  if (arg1) (arg1)->msgTime = arg2;
}


SWIGEXPORT jobject JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ReplayIndexEntry_1msgTime_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jobject jresult = 0 ;
  cmlabs::ReplayIndexEntry *arg1 = (cmlabs::ReplayIndexEntry *) 0 ;
  uint64 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ReplayIndexEntry **)&jarg1; 
  result = (uint64) ((arg1)->msgTime);
  {
    jbyteArray ba = jenv->NewByteArray(9);
    jbyte* bae = jenv->GetByteArrayElements(ba, 0);
    jclass clazz = jenv->FindClass("java/math/BigInteger");
    jmethodID mid = jenv->GetMethodID(clazz, "<init>", "([B)V");
    jobject bigint;
    int i;
    
    bae[0] = 0;
    for(i=1; i<9; i++ ) {
      bae[i] = (jbyte)(result>>8*(8-i));
    }
    
    jenv->ReleaseByteArrayElements(ba, bae, 0);
    bigint = jenv->NewObject(clazz, mid, ba);
    jresult = bigint;
  }
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ReplayIndexEntry_1size_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  cmlabs::ReplayIndexEntry *arg1 = (cmlabs::ReplayIndexEntry *) 0 ;
  uint32 arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ReplayIndexEntry **)&jarg1; 
  arg2 = (uint32)jarg2; 
  if (arg1) (arg1)->size = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ReplayIndexEntry_1size_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::ReplayIndexEntry *arg1 = (cmlabs::ReplayIndexEntry *) 0 ;
  uint32 result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ReplayIndexEntry **)&jarg1; 
  result = (uint32) ((arg1)->size);
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ReplayIndexEntry_1msgTriggerName_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  cmlabs::ReplayIndexEntry *arg1 = (cmlabs::ReplayIndexEntry *) 0 ;
  char *arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ReplayIndexEntry **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return ;
  }
  {
    if(arg2) {
      strncpy((char*)arg1->msgTriggerName, (const char *)arg2, 128-1);
      arg1->msgTriggerName[128-1] = 0;
    } else {
      arg1->msgTriggerName[0] = 0;
    }
  }
  
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ReplayIndexEntry_1msgTriggerName_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::ReplayIndexEntry *arg1 = (cmlabs::ReplayIndexEntry *) 0 ;
  char *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ReplayIndexEntry **)&jarg1; 
  result = (char *)(char *) ((arg1)->msgTriggerName);
  if (result) jresult = jenv->NewStringUTF((const char *)result);
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ReplayIndexEntry_1msg_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
  cmlabs::ReplayIndexEntry *arg1 = (cmlabs::ReplayIndexEntry *) 0 ;
  cmlabs::DataMessage *arg2 = (cmlabs::DataMessage *) 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::ReplayIndexEntry **)&jarg1; 
  arg2 = *(cmlabs::DataMessage **)&jarg2; 
  if (arg1) (arg1)->msg = arg2;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ReplayIndexEntry_1msg_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  cmlabs::ReplayIndexEntry *arg1 = (cmlabs::ReplayIndexEntry *) 0 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ReplayIndexEntry **)&jarg1; 
  result = (cmlabs::DataMessage *) ((arg1)->msg);
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ReplayIndexEntry_1reset(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::ReplayIndexEntry *arg1 = (cmlabs::ReplayIndexEntry *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ReplayIndexEntry **)&jarg1; 
  result = (bool)(arg1)->reset();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_ReplayIndexEntry_1isValid(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::ReplayIndexEntry *arg1 = (cmlabs::ReplayIndexEntry *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::ReplayIndexEntry **)&jarg1; 
  result = (bool)(arg1)->isValid();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1ReplayIndexEntry(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::ReplayIndexEntry *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::ReplayIndexEntry *)new cmlabs::ReplayIndexEntry();
  *(cmlabs::ReplayIndexEntry **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1ReplayIndexEntry(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::ReplayIndexEntry *arg1 = (cmlabs::ReplayIndexEntry *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::ReplayIndexEntry **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1MessagePlayer(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  cmlabs::MessagePlayer *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (cmlabs::MessagePlayer *)new cmlabs::MessagePlayer();
  *(cmlabs::MessagePlayer **)&jresult = result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1MessagePlayer(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1initRead_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jboolean jarg4) {
  jboolean jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 arg3 ;
  bool arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (uint32)jarg3; 
  arg4 = jarg4 ? true : false; 
  result = (bool)(arg1)->initRead((char const *)arg2,arg3,arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1initRead_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3) {
  jboolean jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (uint32)jarg3; 
  result = (bool)(arg1)->initRead((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1initRead_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jboolean jarg3) {
  jboolean jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  char *arg2 = (char *) 0 ;
  bool arg3 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = jarg3 ? true : false; 
  result = (bool)(arg1)->initRead((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1initRead_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->initRead((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1initWrite(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jobject jarg4) {
  jboolean jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  char *arg2 = (char *) 0 ;
  uint32 arg3 ;
  uint64 arg4 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = (uint32)jarg3; 
  {
    jclass clazz;
    jmethodID mid;
    jbyteArray ba;
    jbyte* bae;
    jsize sz;
    int i;
    
    if (!jarg4) {
      SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null");
      return 0;
    }
    clazz = jenv->GetObjectClass(jarg4);
    mid = jenv->GetMethodID(clazz, "toByteArray", "()[B");
    ba = (jbyteArray)jenv->CallObjectMethod(jarg4, mid);
    bae = jenv->GetByteArrayElements(ba, 0);
    sz = jenv->GetArrayLength(ba);
    arg4 = 0;
    if (sz > 0) {
      arg4 = (uint64)(signed char)bae[0];
      for(i=1; i<sz; i++) {
        arg4 = (arg4 << 8) | (uint64)(unsigned char)bae[i];
      }
    }
    jenv->ReleaseByteArrayElements(ba, bae, 0);
  }
  result = (bool)(arg1)->initWrite((char const *)arg2,arg3,arg4);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1setSubTypeList(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  std::map< uint16,std::string > *arg2 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  arg2 = *(std::map< uint16,std::string > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::map< uint16,std::string > & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->setSubTypeList(*arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1setSubContextList(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  std::map< uint16,std::string > *arg2 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  arg2 = *(std::map< uint16,std::string > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::map< uint16,std::string > & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->setSubContextList(*arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1setComponentNameList(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jboolean jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  std::map< uint32,std::string > *arg2 = 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  arg2 = *(std::map< uint32,std::string > **)&jarg2;
  if (!arg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::map< uint32,std::string > & reference is null");
    return 0;
  } 
  result = (bool)(arg1)->setComponentNameList(*arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1writeMetadata(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  result = (bool)(arg1)->writeMetadata();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1readMetadata(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  result = (bool)(arg1)->readMetadata();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1setSystemIDs(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_) {
  jboolean jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  cmlabs::DataMessage *arg2 = (cmlabs::DataMessage *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg2_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  arg2 = *(cmlabs::DataMessage **)&jarg2; 
  result = (bool)(arg1)->setSystemIDs(arg2);
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1exportToCSVFile_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3) {
  jboolean jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = 0;
  if (jarg3) {
    arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!arg3) return 0;
  }
  result = (bool)(arg1)->exportToCSVFile((char const *)arg2,(char const *)arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1exportToCSVFile_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jboolean jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (bool)(arg1)->exportToCSVFile((char const *)arg2);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1exportToCSV_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jstring jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  char *arg2 = (char *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->exportToCSV((char const *)arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1exportToCSV_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  result = (arg1)->exportToCSV();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1addMessage(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jlong jarg3, jobject jarg3_) {
  jboolean jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  char *arg2 = (char *) 0 ;
  cmlabs::DataMessage *arg3 = (cmlabs::DataMessage *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  (void)jarg3_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  arg3 = *(cmlabs::DataMessage **)&jarg3; 
  result = (bool)(arg1)->addMessage((char const *)arg2,arg3);
  jresult = (jboolean)result; 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1waitForNextMessage_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3) {
  jlong jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  uint32 arg2 ;
  char **arg3 = 0 ;
  char *temp3 = 0 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = 0;
  if (jarg3) {
    temp3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!temp3) return 0;
  }
  arg3 = &temp3;
  result = (cmlabs::DataMessage *)(arg1)->waitForNextMessage(arg2,(char const *&)*arg3);
  *(cmlabs::DataMessage **)&jresult = result; 
  if (arg3 && *arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)*arg3);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1waitForNextMessage_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  jlong jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  uint32 arg2 ;
  uint32 *arg3 = 0 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = *(uint32 **)&jarg3;
  if (!arg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (cmlabs::DataMessage *)(arg1)->waitForNextMessage(arg2,*arg3);
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1waitForNextMessage_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jstring jarg3, jlong jarg4) {
  jlong jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  uint32 arg2 ;
  char **arg3 = 0 ;
  uint32 *arg4 = 0 ;
  char *temp3 = 0 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  arg2 = (uint32)jarg2; 
  arg3 = 0;
  if (jarg3) {
    temp3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
    if (!temp3) return 0;
  }
  arg3 = &temp3;
  arg4 = *(uint32 **)&jarg4;
  if (!arg4) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "uint32 & reference is null");
    return 0;
  } 
  result = (cmlabs::DataMessage *)(arg1)->waitForNextMessage(arg2,(char const *&)*arg3,*arg4);
  *(cmlabs::DataMessage **)&jresult = result; 
  if (arg3 && *arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)*arg3);
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1waitForNextMessage_1_1SWIG_13(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  jlong jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  uint32 arg2 ;
  cmlabs::DataMessage *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  arg2 = (uint32)jarg2; 
  result = (cmlabs::DataMessage *)(arg1)->waitForNextMessage(arg2);
  *(cmlabs::DataMessage **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1getCurrentTriggerName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  result = (arg1)->getCurrentTriggerName();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1flushToDisk(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  result = (bool)(arg1)->flushToDisk();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1printAllString_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  jstring jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  char *arg2 = (char *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  arg2 = 0;
  if (jarg2) {
    arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0);
    if (!arg2) return 0;
  }
  result = (arg1)->printAllString((char const *)arg2);
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
  return jresult;
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_MessagePlayer_1printAllString_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jstring jresult = 0 ;
  cmlabs::MessagePlayer *arg1 = (cmlabs::MessagePlayer *) 0 ;
  std::string result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(cmlabs::MessagePlayer **)&jarg1; 
  result = (arg1)->printAllString();
  jresult = jenv->NewStringUTF((&result)->c_str()); 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1StringVector_1_1SWIG_10(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  std::vector< std::string > *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (std::vector< std::string > *)new std::vector< std::string >();
  *(std::vector< std::string > **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1StringVector_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  jlong jresult = 0 ;
  std::vector< std::string >::size_type arg1 ;
  std::vector< std::string > *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = (std::vector< std::string >::size_type)jarg1; 
  result = (std::vector< std::string > *)new std::vector< std::string >(arg1);
  *(std::vector< std::string > **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_StringVector_1size(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
  std::vector< std::string >::size_type result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< std::string > **)&jarg1; 
  result = ((std::vector< std::string > const *)arg1)->size();
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_StringVector_1capacity(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
  std::vector< std::string >::size_type result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< std::string > **)&jarg1; 
  result = ((std::vector< std::string > const *)arg1)->capacity();
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_StringVector_1reserve(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
  std::vector< std::string >::size_type arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< std::string > **)&jarg1; 
  arg2 = (std::vector< std::string >::size_type)jarg2; 
  (arg1)->reserve(arg2);
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_StringVector_1isEmpty(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< std::string > **)&jarg1; 
  result = (bool)((std::vector< std::string > const *)arg1)->empty();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_StringVector_1clear(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< std::string > **)&jarg1; 
  (arg1)->clear();
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_StringVector_1add(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
  std::vector< std::string >::value_type *arg2 = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< std::string > **)&jarg1; 
  if(!jarg2) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null string");
    return ;
  }
  const char *arg2_pstr = (const char *)jenv->GetStringUTFChars(jarg2, 0); 
  if (!arg2_pstr) return ;
  std::vector< std::string >::value_type arg2_str(arg2_pstr);
  arg2 = &arg2_str;
  jenv->ReleaseStringUTFChars(jarg2, arg2_pstr); 
  (arg1)->push_back((std::vector< std::string >::value_type const &)*arg2);
}


SWIGEXPORT jstring JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_StringVector_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  jstring jresult = 0 ;
  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
  int arg2 ;
  std::vector< std::string >::value_type *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< std::string > **)&jarg1; 
  arg2 = (int)jarg2; 
  try {
    result = (std::vector< std::string >::value_type *) &std_vector_Sl_std_string_Sg__get(arg1,arg2);
  }
  catch(std::out_of_range &_e) {
    SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, (&_e)->what());
    return 0;
  }
  
  jresult = jenv->NewStringUTF(result->c_str()); 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_StringVector_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jstring jarg3) {
  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
  int arg2 ;
  std::vector< std::string >::value_type *arg3 = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< std::string > **)&jarg1; 
  arg2 = (int)jarg2; 
  if(!jarg3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null string");
    return ;
  }
  const char *arg3_pstr = (const char *)jenv->GetStringUTFChars(jarg3, 0); 
  if (!arg3_pstr) return ;
  std::vector< std::string >::value_type arg3_str(arg3_pstr);
  arg3 = &arg3_str;
  jenv->ReleaseStringUTFChars(jarg3, arg3_pstr); 
  try {
    std_vector_Sl_std_string_Sg__set(arg1,arg2,(std::string const &)*arg3);
  }
  catch(std::out_of_range &_e) {
    SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, (&_e)->what());
    return ;
  }
  
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1StringVector(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(std::vector< std::string > **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1IntVector_1_1SWIG_10(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  std::vector< int64 > *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (std::vector< int64 > *)new std::vector< int64 >();
  *(std::vector< int64 > **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1IntVector_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  jlong jresult = 0 ;
  std::vector< long long >::size_type arg1 ;
  std::vector< int64 > *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = (std::vector< long long >::size_type)jarg1; 
  result = (std::vector< int64 > *)new std::vector< int64 >(arg1);
  *(std::vector< int64 > **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_IntVector_1size(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  std::vector< int64 > *arg1 = (std::vector< int64 > *) 0 ;
  std::vector< long long >::size_type result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< int64 > **)&jarg1; 
  result = ((std::vector< int64 > const *)arg1)->size();
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_IntVector_1capacity(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  std::vector< int64 > *arg1 = (std::vector< int64 > *) 0 ;
  std::vector< long long >::size_type result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< int64 > **)&jarg1; 
  result = ((std::vector< int64 > const *)arg1)->capacity();
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_IntVector_1reserve(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  std::vector< int64 > *arg1 = (std::vector< int64 > *) 0 ;
  std::vector< long long >::size_type arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< int64 > **)&jarg1; 
  arg2 = (std::vector< long long >::size_type)jarg2; 
  (arg1)->reserve(arg2);
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_IntVector_1isEmpty(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  std::vector< int64 > *arg1 = (std::vector< int64 > *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< int64 > **)&jarg1; 
  result = (bool)((std::vector< int64 > const *)arg1)->empty();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_IntVector_1clear(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  std::vector< int64 > *arg1 = (std::vector< int64 > *) 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< int64 > **)&jarg1; 
  (arg1)->clear();
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_IntVector_1add(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  std::vector< int64 > *arg1 = (std::vector< int64 > *) 0 ;
  std::vector< long long >::value_type *arg2 = 0 ;
  std::vector< long long >::value_type temp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< int64 > **)&jarg1; 
  temp2 = (std::vector< long long >::value_type)jarg2; 
  arg2 = &temp2; 
  (arg1)->push_back((std::vector< long long >::value_type const &)*arg2);
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_IntVector_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  jlong jresult = 0 ;
  std::vector< int64 > *arg1 = (std::vector< int64 > *) 0 ;
  int arg2 ;
  std::vector< long long >::value_type *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< int64 > **)&jarg1; 
  arg2 = (int)jarg2; 
  try {
    result = (std::vector< long long >::value_type *) &std_vector_Sl_int64_Sg__get(arg1,arg2);
  }
  catch(std::out_of_range &_e) {
    SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, (&_e)->what());
    return 0;
  }
  
  jresult = (jlong)*result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_IntVector_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jlong jarg3) {
  std::vector< int64 > *arg1 = (std::vector< int64 > *) 0 ;
  int arg2 ;
  std::vector< long long >::value_type *arg3 = 0 ;
  std::vector< long long >::value_type temp3 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< int64 > **)&jarg1; 
  arg2 = (int)jarg2; 
  temp3 = (std::vector< long long >::value_type)jarg3; 
  arg3 = &temp3; 
  try {
    std_vector_Sl_int64_Sg__set(arg1,arg2,(long long const &)*arg3);
  }
  catch(std::out_of_range &_e) {
    SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, (&_e)->what());
    return ;
  }
  
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1IntVector(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  std::vector< int64 > *arg1 = (std::vector< int64 > *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(std::vector< int64 > **)&jarg1; 
  delete arg1;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1FloatVector_1_1SWIG_10(JNIEnv *jenv, jclass jcls) {
  jlong jresult = 0 ;
  std::vector< float64 > *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  result = (std::vector< float64 > *)new std::vector< float64 >();
  *(std::vector< float64 > **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_new_1FloatVector_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  jlong jresult = 0 ;
  std::vector< double >::size_type arg1 ;
  std::vector< float64 > *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = (std::vector< double >::size_type)jarg1; 
  result = (std::vector< float64 > *)new std::vector< float64 >(arg1);
  *(std::vector< float64 > **)&jresult = result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FloatVector_1size(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  std::vector< float64 > *arg1 = (std::vector< float64 > *) 0 ;
  std::vector< double >::size_type result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< float64 > **)&jarg1; 
  result = ((std::vector< float64 > const *)arg1)->size();
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT jlong JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FloatVector_1capacity(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jlong jresult = 0 ;
  std::vector< float64 > *arg1 = (std::vector< float64 > *) 0 ;
  std::vector< double >::size_type result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< float64 > **)&jarg1; 
  result = ((std::vector< float64 > const *)arg1)->capacity();
  jresult = (jlong)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FloatVector_1reserve(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
  std::vector< float64 > *arg1 = (std::vector< float64 > *) 0 ;
  std::vector< double >::size_type arg2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< float64 > **)&jarg1; 
  arg2 = (std::vector< double >::size_type)jarg2; 
  (arg1)->reserve(arg2);
}


SWIGEXPORT jboolean JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FloatVector_1isEmpty(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  jboolean jresult = 0 ;
  std::vector< float64 > *arg1 = (std::vector< float64 > *) 0 ;
  bool result;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< float64 > **)&jarg1; 
  result = (bool)((std::vector< float64 > const *)arg1)->empty();
  jresult = (jboolean)result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FloatVector_1clear(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
  std::vector< float64 > *arg1 = (std::vector< float64 > *) 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< float64 > **)&jarg1; 
  (arg1)->clear();
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FloatVector_1add(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jdouble jarg2) {
  std::vector< float64 > *arg1 = (std::vector< float64 > *) 0 ;
  std::vector< double >::value_type *arg2 = 0 ;
  std::vector< double >::value_type temp2 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< float64 > **)&jarg1; 
  temp2 = (std::vector< double >::value_type)jarg2; 
  arg2 = &temp2; 
  (arg1)->push_back((std::vector< double >::value_type const &)*arg2);
}


SWIGEXPORT jdouble JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FloatVector_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
  jdouble jresult = 0 ;
  std::vector< float64 > *arg1 = (std::vector< float64 > *) 0 ;
  int arg2 ;
  std::vector< double >::value_type *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< float64 > **)&jarg1; 
  arg2 = (int)jarg2; 
  try {
    result = (std::vector< double >::value_type *) &std_vector_Sl_float64_Sg__get(arg1,arg2);
  }
  catch(std::out_of_range &_e) {
    SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, (&_e)->what());
    return 0;
  }
  
  jresult = (jdouble)*result; 
  return jresult;
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_FloatVector_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jdouble jarg3) {
  std::vector< float64 > *arg1 = (std::vector< float64 > *) 0 ;
  int arg2 ;
  std::vector< double >::value_type *arg3 = 0 ;
  std::vector< double >::value_type temp3 ;
  
  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(std::vector< float64 > **)&jarg1; 
  arg2 = (int)jarg2; 
  temp3 = (std::vector< double >::value_type)jarg3; 
  arg3 = &temp3; 
  try {
    std_vector_Sl_float64_Sg__set(arg1,arg2,(double const &)*arg3);
  }
  catch(std::out_of_range &_e) {
    SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, (&_e)->what());
    return ;
  }
  
}


SWIGEXPORT void JNICALL Java_com_cmlabs_cmsdk_cmsdkJNI_delete_1FloatVector(JNIEnv *jenv, jclass jcls, jlong jarg1) {
  std::vector< float64 > *arg1 = (std::vector< float64 > *) 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = *(std::vector< float64 > **)&jarg1; 
  delete arg1;
}


#ifdef __cplusplus
}
#endif

