Sleds/cppcore/sequencelogic-cgurn.i

58 lines
2.2 KiB
OpenEdge ABL
Raw Normal View History

2025-03-13 21:28:38 +00:00
/* Copyright (c) 2015,2016 Sequence Logic Inc. All rights reserved
*
* SWIG interface for converting between CloudGuardURN and com.sequencelogic.csf.component.CloudGuardURN
*
*/
%typemap(jni) CloudGuardURN, const CloudGuardURN & "jobject"
%typemap(jtype) CloudGuardURN, const CloudGuardURN & "com.sequencelogic.csf.component.CloudGuardURN"
%typemap(jstype) CloudGuardURN, const CloudGuardURN & "com.sequencelogic.csf.component.CloudGuardURN"
%typemap(javain) CloudGuardURN, const CloudGuardURN & "$javainput"
%typemap(javaout) CloudGuardURN, const CloudGuardURN & {
return $jnicall;
}
/* Convert from com.sequencelogic.csf.component.CloudGuardURN to CloudGuardURN */
%typemap(in) const CloudGuardURN &, CloudGuardURN
{
if ($input != NULL)
{
// Convert $input (a com.sequencelogic.csf.component.CloudGuardURN) to $1 (a CloudGuardURN)
jclass jObjClazz = jenv->GetObjectClass($input);
jmethodID toStringID = jenv->GetMethodID(jObjClazz, "toString", "()Ljava/lang/String;");
jstring jsonObjStr = static_cast<jstring>(jenv->CallObjectMethod($input, toStringID));
const char *pCJsonStr = jenv->GetStringUTFChars(jsonObjStr, 0);
$1 = new CloudGuardURN(pCJsonStr);
jenv->ReleaseStringUTFChars(jsonObjStr, pCJsonStr);
}
}
%typemap(freearg) const CloudGuardURN &, const CloudGuardURN &
{
delete $1;
}
/* Convert from CloudGuardURN to com.sequencelogic.csf.component.CloudGuardURN */
%typemap(out) CloudGuardURN
{
jclass jCGUrnClazz = jenv->FindClass("com/sequencelogic/csf/component/CloudGuardURN");
if (jCGUrnClazz == NULL)
{
SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "In sequencelogic-cgurn.i: Cannot find class 'com/sequencelogic/csf/component/CloudGuardURN'");
return $null;
}
jmethodID jCGCtor = jenv->GetMethodID(jCGUrnClazz, "<init>", "(Ljava/lang/String;)V");
if (jCGCtor == NULL)
{
SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "In sequencelogic-cgurn.i: Cannot find constructor taking a string in 'com.sequencelogic.csf.component.CloudGuardURN'");
return $null;
}
jstring urnAsString = jenv->NewStringUTF($1.getUrn().c_str());
$result = jenv->NewObject(jCGUrnClazz, jCGCtor, urnAsString);
}