10#define META_FILE_NAME "MqFactoryC_jv.c"
12#include "jni_h/jvmqmsgque_MqFactoryC.h"
13#include "LibMqMsgque_private_jv.h"
27 JNIEnv *env = (JNIEnv*) envP;
28 return (*env)->NewObject(env, NS(Class_MqFactoryC), NS(MID_MqFactoryC_INIT), (jlong) obj, JNI_TRUE);
41#include "jni_h/jvmkkernel_MkObjectC.h"
42#include "jni_h/jvmqmsgque_MqContextC.h"
57 JavaErrorCheckNULL (call->
class = (*env)->NewGlobalRef(env,
class));
86 (*env)->DeleteGlobalRef(env, call->
class);
94 bool dofactoryCleanup,
106 jclass clazz = call->
class;
107 jmethodID meth = call->
method;
112 jobject tmplO = ( create ==
MQ_FACTORY_NEW_INIT || tmpl == NULL ? NULL : AtomObjNew_X(env,tmpl) );
116 JavaErrorCheckNULL(clazz = (*env)->GetObjectClass (env, tmplO));
117 JavaErrorCheckNULL(meth = (*env)->GetMethodID(env,clazz,
"<init>",
"(Ljvmqmsgque/MqContextC;)V"));
122 jobject obj = (*env)->NewObject(env, clazz, meth, tmplO);
123 if (obj == NULL || MkErrorCheckE_0E()) {
145 if((*env)->ExceptionCheck(env) == JNI_TRUE) {
146 OT_ERROR_LNG_2_META(NULL);
167 jobject __retVal__S = MQ(MqFactoryC_ObjNew)(
MK_RT_CALL env,__retVal__L);
190 jobject __retVal__S = MQ(MqFactoryC_ObjNew)(
MK_RT_CALL env,__retVal__L);
202 jobject __retVal__S = MQ(MqFactoryC_ObjNew)(
MK_RT_CALL env,__retVal__L);
214 jobject __retVal__S = MQ(MqFactoryC_ObjNew)(
MK_RT_CALL env,__retVal__L);
231 jobject __retVal__S = MQ(MqFactoryC_ObjNew)(
MK_RT_CALL env,__retVal__L);
247 MK_STRN ident_ptr = (ident?(*env)->GetStringUTFChars(env,ident,NULL):NULL);
250 jobject __retVal__S = MQ(MqFactoryC_ObjNew)(
MK_RT_CALL env,__retVal__L);
251 if (ident_ptr) (*env)->ReleaseStringUTFChars(env,ident,ident_ptr);
260 MK_STRN ident_ptr = (ident?(*env)->GetStringUTFChars(env,ident,NULL):NULL);
263 jobject __retVal__S = MQ(MqFactoryC_ObjNew)(
MK_RT_CALL env,__retVal__L);
264 if (ident_ptr) (*env)->ReleaseStringUTFChars(env,ident,ident_ptr);
276 jobject __retVal__S = MQ(MqFactoryC_ObjNew)(
MK_RT_CALL env,__retVal__L);
290 jstring __retVal__S = JC2O(env,__retVal__L);
311 jobject __retVal__S = MQ(MqFactoryC_ObjNew)(
MK_RT_CALL env,__retVal__L);
323 jobject __retVal__S = MQ(MqFactoryC_ObjNew)(
MK_RT_CALL env,__retVal__L);
338 MkErrorC_Check(hdl, errVal)
339 jobject __retVal__S = MQ(MqContextC_ObjNew)(
MK_RT_CALL env,val_out);
355 jstring __retVal__S = JC2O(env,__retVal__L);
363 jstring __retVal__S = JC2O(env,__retVal__L);
370 if (callfunc == NULL) {
371 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
373 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
374 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
377 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
396 MK_STRN ident_ptr = (ident?(*env)->GetStringUTFChars(env,ident,NULL):NULL);
399 if (__retVal__L == NULL) {
400 (*env)->ThrowNew(env, MK(Class_MkInitError),
"MqFactoryC.Dup2");
403 jobject __retVal__S = MQ(MqFactoryC_ObjCreate)(
MK_RT_CALL env,__retVal__L);
404 if (ident_ptr) (*env)->ReleaseStringUTFChars(env,ident,ident_ptr);
415 if (ident == NULL) {ident = (*env)->CallObjectMethod(env,constructor,NS(MID_Class_getSimpleName));JavaErrorCheck;}
416 MK_PTR constructor_c = NULL;
417 jmethodID cbMeth = (*env)->GetMethodID(env,constructor,
"<init>",
"(Ljvmqmsgque/MqContextC;)V");
419 constructor_c = NS(sFactorySetup)(
MK_RT_CALL env, constructor, cbMeth);
421 MK_STRN ident_ptr = (ident?(*env)->GetStringUTFChars(env,ident,NULL):NULL);
423 MQ_FCT __retVal__L =
MqFactoryAdd(NULL, NS(sFactoryCTor), constructor_c, NS(sFactoryDataFree), NS(sFactoryDataCopy), NS(sFactoryDTor), NULL, NULL, NULL, ident_ptr);
424 if (__retVal__L == NULL) {
425 (*env)->ThrowNew(env, MK(Class_MkInitError),
"MqFactoryC.Add");
428 jobject __retVal__S = MQ(MqFactoryC_ObjCreate)(
MK_RT_CALL env,__retVal__L);
429 if (ident_ptr) (*env)->ReleaseStringUTFChars(env,ident,ident_ptr);
438 if (ident == NULL) {ident = (*env)->CallObjectMethod(env,constructor,NS(MID_Class_getSimpleName));JavaErrorCheck;}
439 MK_PTR constructor_c = NULL;
440 jmethodID cbMeth = (*env)->GetMethodID(env,constructor,
"<init>",
"(Ljvmqmsgque/MqContextC;)V");
442 constructor_c = NS(sFactorySetup)(
MK_RT_CALL env, constructor, cbMeth);
444 MK_STRN ident_ptr = (ident?(*env)->GetStringUTFChars(env,ident,NULL):NULL);
446 MQ_FCT __retVal__L =
MqFactoryAdd(NULL, NS(sFactoryCTor), constructor_c, NS(sFactoryDataFree), NS(sFactoryDataCopy), NS(sFactoryDTor), NULL, NULL, NULL, ident_ptr);
447 if (__retVal__L == NULL) {
448 (*env)->ThrowNew(env, MK(Class_MkInitError),
"MqFactoryC.CTOR");
451 jlong __retVal__S = (jlong)__retVal__L;
452 if (ident_ptr) (*env)->ReleaseStringUTFChars(env,ident,ident_ptr);
const struct MkBufferListS * MK_BFLN
#define MkErrorStack_0E()
#define MkSysFree(pointer)
MK_PTR MkSysMalloc(MK_OBJN fmtobj, size_t const size)
void MkRuntimeSetCID(MK_OBJ const cid)
struct MqContextS * MQ_CTX
class-shortcut for struct MqContextS *, all shortcut using the XX_YYY syntax (only for public API) …
#define MqContextDelete(x)
#define MQ_CALLBACK_FACTORY_CTOR_ARGS
the MqFactoryCTorF arguments with default names
#define MqFactoryInstances()
const struct MqFactoryS * MQ_FCTN
class-shortcut for const struct MqFactoryS *, all const shortcut using the XX_YYYC syntax (only for p...
static MQ_FCT MqFactoryPrev(MQ_FCT const fct)
get previous instance from linked-list of MqFactoryS type
#define MqFactoryHandleResolve(...)
struct MqFactoryS * MQ_FCT
class-shortcut for struct MqFactoryS *, all shortcut using the XX_YYY syntax (only for public API) …
static MQ_FCT MqFactoryGetNull(void)
Null-Slot - return a MqFactoryC typed NULL instance …
static MQ_FCT MqFactoryNext(MQ_FCT const fct)
get next instance from linked-list of MqFactoryS type
#define MqFactoryC_X2obj(x)
#define MqFactoryC_TT
class as MkTypeS-class-type, useable in a class-macro as: class##_TT …
JNIEXPORT jobject JNICALL Java_jvmqmsgque_MqFactoryC_Instances(JNIEnv *env, jclass class)
Java: [static] MqFactoryC MqFactoryC.Instances() → C-API get head-instance from linked-list of M...
JNIEXPORT jobject JNICALL Java_jvmqmsgque_MqFactoryC_GetNull(JNIEnv *env, jclass class)
Java: [static] MqFactoryC MqFactoryC.GetNull() → C-API Null-Slot - return a MqFactoryC typed NUL...
JNIEXPORT jobject JNICALL Java_jvmqmsgque_MqFactoryC_Prev(JNIEnv *env, jobject self)
Java: MqFactoryC fct.Prev() → C-API get previous instance from linked-list of MqFactoryS type
JNIEXPORT jobject JNICALL Java_jvmqmsgque_MqFactoryC_HandleResolve(JNIEnv *env, jclass class, jint netHdl)
Java: [static] MqFactoryC MqFactoryC.HandleResolve(int netHdl) → C-API Handle-Resolve-Slot - ret...
JNIEXPORT jobject JNICALL Java_jvmqmsgque_MqFactoryC_Next(JNIEnv *env, jobject self)
Java: MqFactoryC fct.Next() → C-API get next instance from linked-list of MqFactoryS type
#define MqFactoryGetCalledL(...)
#define MqFactoryGet(...)
MK_STRN MqFactoryGetOriginalIdent(MQ_FCTN const fct)
helper function to return MqFactoryS::originalIdent
#define MqFactoryGetCalled(...)
JNIEXPORT jobject JNICALL Java_jvmqmsgque_MqFactoryC_Get(JNIEnv *env, jclass class, jstring ident)
Java: [static] MqFactoryC MqFactoryC.Get(?String ident = ""?) → C-API return the MqFactoryC
JNIEXPORT jobject JNICALL Java_jvmqmsgque_MqFactoryC_GetCalled__Ljvmkkernel_MkBufferListC_2(JNIEnv *env, jclass class, jobject largs)
Java: [static] MqFactoryC MqFactoryC.GetCalled(MkBufferListC largs) → C-API returns the MqFactor...
JNIEXPORT jstring JNICALL Java_jvmqmsgque_MqFactoryC_GetOriginalIdent(JNIEnv *env, jobject self)
Java: String fct.GetOriginalIdent() → C-API helper function to return MqFactoryS::originalIdent
JNIEXPORT jobject JNICALL Java_jvmqmsgque_MqFactoryC_GetCalled__Ljava_lang_String_2(JNIEnv *env, jclass class, jstring ident)
Java: [static] MqFactoryC MqFactoryC.GetCalled(?String ident = ""?) → C-API returns the MqFactor...
#define MqFactoryLogAll(...)
#define MqFactoryInitial(...)
#define MqFactoryDefaultIdent()
#define MqFactoryNew(...)
#define MqFactoryInitialIdent()
#define MqFactoryDefault(...)
JNIEXPORT jobject JNICALL Java_jvmqmsgque_MqFactoryC_Initial(JNIEnv *env, jobject self)
Java: MqFactoryC fct.Initial() → C-API set the initial-attribut to fct …
JNIEXPORT void JNICALL Java_jvmqmsgque_MqFactoryC_LogAll(JNIEnv *env, jclass class, jstring callfunc)
Java: [static] MqFactoryC.LogAll(?String callfunc = null?) → C-API log all "factories" to stderr
JNIEXPORT jstring JNICALL Java_jvmqmsgque_MqFactoryC_DefaultIdent(JNIEnv *env, jclass class)
Java: [static] String MqFactoryC.DefaultIdent() → C-API return the factory-identifier of the def...
JNIEXPORT jstring JNICALL Java_jvmqmsgque_MqFactoryC_InitialIdent(JNIEnv *env, jclass class)
Java: [static] String MqFactoryC.InitialIdent() → C-API return the factory-identifier of the ini...
JNIEXPORT jobject JNICALL Java_jvmqmsgque_MqFactoryC_Default(JNIEnv *env, jobject self)
Java: MqFactoryC fct.Default() → C-API set the default-attribute to the factory …
JNIEXPORT jobject JNICALL Java_jvmqmsgque_MqFactoryC_New(JNIEnv *env, jobject self)
Java: MqContextC fct.New() → C-API create a new MqContextC from a MqFactoryC …
#define MqFactoryDup2(...)
#define MqFactoryAdd(...)
JNIEXPORT jlong JNICALL Java_jvmqmsgque_MqFactoryC_CTOR(JNIEnv *env, jclass class, jclass constructor, jstring ident)
Java: [constructor,static] MqFactoryC MqFactoryC.Add(Class<?> constructor, ?String ident = null?...
JNIEXPORT jobject JNICALL Java_jvmqmsgque_MqFactoryC_Add(JNIEnv *env, jclass class, jclass constructor, jstring ident)
Java: [constructor,static] MqFactoryC MqFactoryC.Add(Class<?> constructor, ?String ident = null?...
JNIEXPORT jobject JNICALL Java_jvmqmsgque_MqFactoryC_Dup2(JNIEnv *env, jobject self, jstring ident)
Java: [constructor] MqFactoryC fct.Dup2(String ident) → C-API create a duplicate of the singleto...
@ MQ_FACTORY_NEW_INIT
initial object, nothing else is known
@ MQ_FACTORY_NEW_CHILD
create object as a child of an other object
PUBLIC data structure for the jvmqmsgque-specific-data
data used to define a factory