Exemplo n.º 1
0
/**************************************************************************
 * FUNCTION:      JNU_CallbackResponse_initIDs_FromClass_OK
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     JNI_FALSE if an error occured, JNI_TRUE otherwise
 * NOTE: If JNI_FALSE is returned, then an exception is already pending!
 *************************************************************************/
static jboolean JNU_CallbackResponse_initIDs_FromClass_OK(JNIEnv *jniEnv,
							  jclass
							  enumCallbackResponse)
{

	_TRACE2
		("NATIVE: Executing JNU_CallbackResponse_initIDs_FromClass_OK(..)\n");

	/* get field IDs */

	FID_CR_value = (*jniEnv)->GetFieldID(jniEnv,
					     enumCallbackResponse,
					     "value", "I");
	if (FID_CR_value == NULL) {

		_TRACE2("NATIVE ERROR: FID_CR_value is NULL\n");

		return JNI_FALSE;	/* EXIT POINT!  */
	}

	_TRACE2
		("NATIVE: JNU_CallbackResponse_initIDs_FromClass_OK(...) returning normally\n");

	return JNI_TRUE;
}
Exemplo n.º 2
0
/**************************************************************************
 * FUNCTION:      U_printSaClusterNotificationBuffer_4
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     none
 * NOTE:
 *************************************************************************/
void U_printSaClusterNotificationBuffer_4(const char *msg,
					  const
					  SaClmClusterNotificationBufferT_4
					  *saClusterNotificationBufferPtr)
{
	// VARIABLES
	int _idx;

	// BODY
	_TRACE_INLINE("%s", msg);
	_TRACE2("NATIVE: \tAddress of saClusterNotificationBuffer:%p:\n",
		saClusterNotificationBufferPtr);
	_TRACE2("NATIVE: \t viewNumber:%lu\n",
		(unsigned long)saClusterNotificationBufferPtr->viewNumber);
	_TRACE2("NATIVE: \t numberOfItems:%u\n",
		(unsigned int)saClusterNotificationBufferPtr->numberOfItems);
	_TRACE2("NATIVE: \t notification: %p\n",
		saClusterNotificationBufferPtr->notification);
	// TODO should be some sensible error handling for invalid numberOfItems values...
	for (_idx = 0; _idx < saClusterNotificationBufferPtr->numberOfItems;
	     _idx++) {
		_TRACE2("NATIVE: \t  notification[%d]:\n", _idx);
		U_printSaClusterNotification_4("",
					       &
					       (saClusterNotificationBufferPtr->
						notification[_idx]));
	}

}
/**************************************************************************
 * FUNCTION:      JNU_CsiManager_initIDs_FromClass_OK
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   returns:     JNI_FALSE if an error occured, JNI_TRUE otherwise
 * NOTE: If JNI_FALSE is returned, then an exception is already pending!
 *************************************************************************/
static jboolean JNU_CsiManager_initIDs_FromClass_OK(JNIEnv *jniEnv,
						    jclass classCsiManager)
{

	// BODY

	_TRACE2("NATIVE: Executing JNU_CsiManager_initIDs_FromClass_OK(...)\n");

	// get field IDs
	FID_amfLibraryHandle = (*jniEnv)->GetFieldID(jniEnv,
						     classCsiManager,
						     "amfLibraryHandle",
						     "Lorg/saforum/ais/amf/AmfHandle;");
	if (FID_amfLibraryHandle == NULL) {

		_TRACE2("NATIVE ERROR: FID_amfLibraryHandle is NULL\n");

		return JNI_FALSE;	// EXIT POINT! Exception pending...
	}

	_TRACE2
		("NATIVE: JNU_CsiManager_initIDs_FromClass_OK(...) returning normally\n");

	return JNI_TRUE;
}
Exemplo n.º 4
0
/**************************************************************************
 * FUNCTION:      JNU_copyFromStringToSaNameT_NotNull
 * TYPE:          internal function
 * OVERVIEW:      copies the content of the specified String object to
 *                the specified SaNameT parameter.
 * INTERFACE:
 *   parameters:
 * 		fromStr [in]
 * 			- the source Java string. It must not be null.
 *          If longer than SA_MAX_NAME_LENGTH, AisInvalidParamException is thrown.
 *      toSaNamePtr [in/out]
 * 			- a pointer to the SaNameT structure into which
 * 			the content of the source Java string is copied.
 *
 *   returns:		JNI_TRUE if the copy operation succeeded.
 * 					If JNI_FALSE, then there is a pending Java exception.
 * NOTE:
 *************************************************************************/
jboolean JNU_copyFromStringToSaNameT_NotNull(JNIEnv *jniEnv,
					     jstring fromStr,
					     SaNameT *toSaNamePtr)
{
	// VARIABLES
	jsize _strLen;

	// BODY
	assert(fromStr != NULL);
	assert(toSaNamePtr != NULL);
	_TRACE2("NATIVE: Executing JNU_copyFromStringToSaNameT_NotNull(...)\n");
	// check if string is not too long
	_strLen = (*jniEnv)->GetStringUTFLength(jniEnv, fromStr);
	if (_strLen > SA_MAX_NAME_LENGTH) {
		_TRACE2("NATIVE ERROR: fromStr is too long %d\n", _strLen);
		JNU_throwNewByName(jniEnv,
				   "ais/AisInvalidParamException",
				   AIS_ERR_INVALID_PARAM_MSG);
		return JNI_FALSE;
	}
	// copy string content
	toSaNamePtr->length = (SaUint16T)_strLen;
	(*jniEnv)->GetStringUTFRegion(jniEnv,
				      fromStr,
				      (jsize)0,
				      (*jniEnv)->GetStringLength(jniEnv,
								 fromStr),
				      (char *)toSaNamePtr->value);
	assert((*jniEnv)->ExceptionCheck(jniEnv) == JNI_FALSE);
	_TRACE2
		("NATIVE: JNU_copyFromStringToSaNameT(...) returning normally\n");
	return JNI_TRUE;
}
Exemplo n.º 5
0
/**************************************************************************
 * FUNCTION:      JNU_TrackFlags_initIDs_OK
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     JNI_FALSE if an error occured, JNI_TRUE otherwise
 * NOTE: If JNI_FALSE is returned, then an exception is already pending!
 *************************************************************************/
jboolean JNU_TrackFlags_initIDs_OK(JNIEnv *jniEnv)
{
	// BODY

	_TRACE2("NATIVE: Executing JNU_TrackFlags_initIDs_OK(...)\n");

	// get TrackFlags class & create a global reference right away
	/*
	  EnumTrackFlags =
	  (*jniEnv)->NewGlobalRef( jniEnv,
	  (*jniEnv)->FindClass( jniEnv,
	  "org/saforum/ais/TrackFlags" )
	  ); */
	EnumTrackFlags =
		JNU_GetGlobalClassRef(jniEnv, "org/saforum/ais/TrackFlags");
	if (EnumTrackFlags == NULL) {

		_TRACE2("NATIVE ERROR: EnumTrackFlags is NULL\n");

		return JNI_FALSE;	// EXIT POINT! Exception pending...
	}
	// get IDs
	return JNU_TrackFlags_initIDs_FromClass_OK(jniEnv, EnumTrackFlags);

}
Exemplo n.º 6
0
/**************************************************************************
 * FUNCTION:      JNU_GetGlobalClassRef
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     a global class reference for the specified class, or NULL
 *************************************************************************/
jclass JNU_GetGlobalClassRef(JNIEnv *jniEnv, const char *className)
{
	// VARIABLES
	// jni
	jclass _cls;
	jclass _globalCls;

	// BODY
#ifndef NDEBUG
	_TRACE2("NATIVE: Executing JNU_GetGlobalClassRef(...,%s)\n", className);
#endif				// NDEBUG
	_cls = (*jniEnv)->FindClass(jniEnv, className);
	if (_cls == NULL) {
#ifndef NDEBUG
		_TRACE2("NATIVE ERROR: FindClass() returned NULL!\n");
		JNU_ExceptionDescribeDoNotClear(jniEnv);
#endif				// NDEBUG
		return NULL;	// EXIT POINT! Exception pending...
	}
	_globalCls = (*jniEnv)->NewGlobalRef(jniEnv, _cls);
	if (_globalCls == NULL) {
#ifndef NDEBUG
		_TRACE2("NATIVE ERROR: NewGlobalRef() returned NULL\n");
		JNU_ExceptionDescribeDoNotClear(jniEnv);
#endif				// NDEBUG
		return NULL;	// EXIT POINT! Exception pending...
	}
	return _globalCls;
}
Exemplo n.º 7
0
/**************************************************************************
 * FUNCTION:      U_printSaAmfCSIAttributeList
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     none
 * NOTE:
 *************************************************************************/
void U_printSaAmfCSIAttributeList(const char *msg,
				  const SaAmfCSIAttributeListT *csiAttrListPtr)
{
	unsigned int _idx;

	_TRACE_INLINE("%s (attr pointer: %p), (length: %u)\n",
		      msg,
		      (void *)csiAttrListPtr->attr,
		      (unsigned int)csiAttrListPtr->number);
	// some error handling
	if (csiAttrListPtr->attr == NULL) {
		_TRACE2("WARNING: Pointer to attribute list NULL!!!\n");
		return;
	}
	if (csiAttrListPtr->number > 32) {
		_TRACE2("WARNING: attribute list seems to be too long!!!\n");
		return;
	}
	// print the attributes
	for (_idx = 0; _idx < csiAttrListPtr->number; _idx++) {
		_TRACE2("\t\tattribute[%u]: {%s/%s} \n",
			_idx,
			csiAttrListPtr->attr[_idx].attrName,
			csiAttrListPtr->attr[_idx].attrValue);
	}

}
/**************************************************************************
 * FUNCTION:      JNU_CsiManager_initIDs_OK
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   returns:     JNI_FALSE if an error occured, JNI_TRUE otherwise
 * NOTE: If JNI_FALSE is returned, then an exception is already pending!
 *************************************************************************/
jboolean JNU_CsiManager_initIDs_OK(JNIEnv *jniEnv)
{

	// BODY

	_TRACE2("NATIVE: Executing JNU_CsiManager_initIDs_OK(...)\n");

	// get CsiManager class & create a global reference right away
	/*
	  ClassCsiManager =
	  (*jniEnv)->NewGlobalRef( jniEnv,
	  (*jniEnv)->FindClass( jniEnv,
	  "org/opensaf/ais/amf/CsiManagerImpl" )
	  ); */
	ClassCsiManager = JNU_GetGlobalClassRef(jniEnv,
						"org/opensaf/ais/amf/CsiManagerImpl");
	if (ClassCsiManager == NULL) {

		_TRACE2("NATIVE ERROR: ClassCsiManager is NULL\n");

		return JNI_FALSE;	// EXIT POINT! Exception pending...
	}
	// get IDs
	return JNU_CsiManager_initIDs_FromClass_OK(jniEnv, ClassCsiManager);

}
Exemplo n.º 9
0
/**************************************************************************
 * FUNCTION:      JNU_throwNewByName
 * TYPE:          internal function
 * OVERVIEW:      Throws a newly created Exception specified by its class
 *                  name. The constructor taking a String parameter
 *                  (a message describing the cause of the Exception)
 *                  is used.
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     none
 * NOTE:
 *************************************************************************/
void JNU_throwNewByName(JNIEnv *jniEnv, const char *className, const char *msg)
{
	// BODY
	_TRACE2("NATIVE: Executing JNU_ThrowNewByName(...)\n");
	jclass _class = (*jniEnv)->FindClass(jniEnv, className);
	if (_class != NULL) {
		(*jniEnv)->ThrowNew(jniEnv, _class, msg);
		_TRACE2("NATIVE: Throwing %s (with message: >>%s<<)\n",
			className, msg);
	}
	(*jniEnv)->DeleteLocalRef(jniEnv, _class);
}
Exemplo n.º 10
0
/**************************************************************************
 * FUNCTION:      JNU_newStringFromSaNameT
 * TYPE:          internal function
 * OVERVIEW:      Creates a new String object from the specified
 *                  SaNameT parameter.
 * INTERFACE:
 *   parameters:
 * 		saNamePtr [in]
 * 			The SaName to be stringified
 *   returns:     the newly created String
 * NOTE:
 *************************************************************************/
jstring JNU_newStringFromSaNameT(JNIEnv *jniEnv, const SaNameT *saNamePtr)
{
	// BODY
	_TRACE2("NATIVE: Executing JNU_newStringFromSaNameT(...)\n");

	SaUint8T _eValue[SA_MAX_NAME_LENGTH + 1];
	memcpy(_eValue, saNamePtr->value, SA_MAX_NAME_LENGTH);
	_eValue[saNamePtr->length] = 0x00;

	_TRACE2("NATIVE: Creating a new String from %s\n", _eValue);

	return (*jniEnv)->NewStringUTF(jniEnv, (char *)_eValue);
}
Exemplo n.º 11
0
/**************************************************************************
 * FUNCTION:      U_printSaClusterNotification_4
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     none
 * NOTE:
 *************************************************************************/
void U_printSaClusterNotification_4(const char *msg,
				    const SaClmClusterNotificationT_4
				    *saClusterNotificationPtr)
{
	// BODY
	_TRACE_INLINE("%s", msg);
	_TRACE2("NATIVE: \t\t(Address of saClusterNotification:%p:)\n",
		saClusterNotificationPtr);
	_TRACE2("NATIVE: \t\t clusterChange:%u\n",
		saClusterNotificationPtr->clusterChange);
	U_printSaClusterNode_4("NATIVE: \t\t clusterNode\n",
			       &(saClusterNotificationPtr->clusterNode));
}
Exemplo n.º 12
0
/**************************************************************************
 * FUNCTION:      JNU_jByteArray_unlink
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     none
 *************************************************************************/
void JNU_jByteArray_unlink(JNIEnv *jniEnv, jbyteArray byteArray, void *saBuffer)
{
	// BODY
#ifndef NDEBUG
	assert(byteArray != NULL);
	assert(saBuffer != NULL);
	_TRACE2("NATIVE: Executing JNU_jByteArray_unlink(...)\n");
#endif				// NDEBUG
	(*jniEnv)->ReleaseByteArrayElements(jniEnv, byteArray, saBuffer, 0);

#ifndef NDEBUG
	_TRACE2("NATIVE: JNU_jByteArray_unlink(...) returning normally\n");
#endif				// NDEBUG
	return;
}
Exemplo n.º 13
0
/**************************************************************************
 * FUNCTION:      U_printSaCheckpointDescriptor
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     none
 * NOTE:
 *************************************************************************/
void U_printSaCheckpointDescriptor(const char *msg,
				   const SaCkptCheckpointDescriptorT
				   *saCheckpointDescriptorPtr)
{
	// BODY
	_TRACE_INLINE("%s", msg);
	_TRACE2("NATIVE: \t\t(Address of saCheckpointDescriptor:%p:)\n",
		saCheckpointDescriptorPtr);
	_TRACE2("NATIVE: \t\t numberOfSections:%u\n",
		(unsigned int)saCheckpointDescriptorPtr->numberOfSections);
	_TRACE2("NATIVE: \t\t memoryUsed:%lu\n",
		(unsigned long)saCheckpointDescriptorPtr->memoryUsed);
	U_printSaCheckpointCreationAttributes
		("NATIVE: \t\t checkpointCreationAttributes\n",
		 &(saCheckpointDescriptorPtr->checkpointCreationAttributes));
}
Exemplo n.º 14
0
/**************************************************************************
 * FUNCTION:      U_printSaClusterNode_4
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     none
 * NOTE:
 *************************************************************************/
void U_printSaClusterNode_4(const char *msg,
			    const SaClmClusterNodeT_4 *saClusterNodePtr)
{
	// BODY
	_TRACE_INLINE("%s", msg);
	_TRACE2("NATIVE: \t\t\tnodeId:%u\n",
		(unsigned int)saClusterNodePtr->nodeId);
	U_printSaNodeAddress("NATIVE: \t\t\tnodeAddress: ",
			     &(saClusterNodePtr->nodeAddress));
	U_printSaName("NATIVE: \t\t\tnodeName: ",
		      &(saClusterNodePtr->nodeName));
	_TRACE2("NATIVE: \t\t\tmember: %d\n", saClusterNodePtr->member);
	_TRACE2("NATIVE: \t\t\tbootTimestamp:%lu\n",
		(unsigned long)saClusterNodePtr->bootTimestamp);
	_TRACE2("NATIVE: \t\t\tinitialViewNumber:%lu\n",
		(unsigned long)saClusterNodePtr->initialViewNumber);
}
Exemplo n.º 15
0
/**************************************************************************
 * FUNCTION:      JNU_Version_initIDs_FromClass_OK
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     JNI_FALSE if an error occured, JNI_TRUE otherwise
 * NOTE: If JNI_FALSE is returned, then an exception is already pending!
 *************************************************************************/
static jboolean JNU_Version_initIDs_FromClass_OK(JNIEnv *jniEnv,
						 jclass classVersion)
{
	// BODY

	_TRACE2("NATIVE: Executing JNU_Version_initIDs_FromClass_OK(...)\n");

	// get field IDs
	FID_releaseCode = (*jniEnv)->GetFieldID(jniEnv,
						classVersion,
						"releaseCode", "C");
	if (FID_releaseCode == NULL) {

		_TRACE2("NATIVE ERROR: FID_releaseCode is NULL\n");

		return JNI_FALSE;	// EXIT POINT! Exception pending...
	}
	FID_majorVersion = (*jniEnv)->GetFieldID(jniEnv,
						 classVersion,
						 "majorVersion", "S");
	if (FID_majorVersion == NULL) {

		_TRACE2("NATIVE: FID_majorVersion is NULL\n");

		return JNI_FALSE;	// EXIT POINT! Exception pending...
	}
	FID_minorVersion = (*jniEnv)->GetFieldID(jniEnv,
						 classVersion,
						 "minorVersion", "S");
	if (FID_minorVersion == NULL) {

		_TRACE2("NATIVE: FID_minorVersion is NULL\n");

		return JNI_FALSE;	// EXIT POINT! Exception pending...
	}

	CID_Version_constructor = (*jniEnv)->GetMethodID(jniEnv,
							 classVersion,
							 "<init>", "(CSS)V");

	_TRACE2
		("NATIVE: JNU_Version_initIDs_FromClass_OK(...) returning normally\n");

	return JNI_TRUE;
}
Exemplo n.º 16
0
/**************************************************************************
 * FUNCTION:      U_printSaAmfCSIFlags
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     none
 * NOTE:
 *************************************************************************/
void U_printSaAmfCSIFlags(const char *msg, const SaAmfCSIFlagsT csiFlags)
{
	_TRACE_INLINE("%s", msg);
	switch (csiFlags) {
	case SA_AMF_CSI_ADD_ONE:
		_TRACE2("CSI ADD ONE (%u)\n", (unsigned int)csiFlags);
		break;
	case SA_AMF_CSI_TARGET_ONE:
		_TRACE2("CSI TARGET ONE (%u)\n", (unsigned int)csiFlags);
		break;
	case SA_AMF_CSI_TARGET_ALL:
		_TRACE2("CSI TARGET ALL (%u)\n", (unsigned int)csiFlags);
		break;
	default:
		_TRACE2("CSI INVALID!!! (%u)\n", (unsigned int)csiFlags);
		break;
	}
}
Exemplo n.º 17
0
/**************************************************************************
 * FUNCTION:      U_printSaAmfCSIStandbyDescriptor
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     none
 * NOTE:
 *************************************************************************/
void U_printSaAmfCSIStandbyDescriptor(const char *msg,
				      const SaAmfCSIStandbyDescriptorT
				      *standbyDescriptorPtr)
{
	_TRACE_INLINE("%s", msg);
	U_printSaName("\t\tactiveCompName: ",
		      &standbyDescriptorPtr->activeCompName);
	_TRACE2("\t\tstandbyRank: %u\n",
		(unsigned int)standbyDescriptorPtr->standbyRank);
}
Exemplo n.º 18
0
/**************************************************************************
 * FUNCTION:      JNU_GetEnvForCallback
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     JNI_OK if a valid jniEnv pointer was returned, a negative value otherwise
 * NOTE: -> no exception is thrown!
 *************************************************************************/
jint JNU_GetEnvForCallback(JavaVM *vmPtr, JNIEnv **envPtrPtr)
//jint JNU_GetEnvForCallback( JavaVM* vmPtr, void** envPtrPtr )
{

	// VARIABLES
	// jni
	jint _status;

	// BODY
	_TRACE2("NATIVE: Executing JNU_GetEnvForCallback(%p,...)\n",
		(void *)vmPtr);
	// get context
	_status = (*cachedJVM)->GetEnv(vmPtr,
				       (void **)envPtrPtr, JNI_VERSION_1_2);
	if (_status != JNI_OK) {
		// TODO error handling
		_TRACE2("NATIVE ERROR: _status by GetEnv() is %d\n", _status);
	}
	return _status;
}
Exemplo n.º 19
0
/**************************************************************************
 * FUNCTION:      U_printSaName
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     none
 * NOTE:
 *************************************************************************/
void U_printSaName(const char *msg, const SaNameT *saNamePtr)
{
	_TRACE_INLINE("%s", msg);
	if (saNamePtr == NULL) {
		_TRACE2("NULL STRING \n");
		return;		// EXIT POINT!!!
	}

	_TRACE_INLINE("%.*s (length:%d)\n", saNamePtr->length, saNamePtr->value,
		      saNamePtr->length);
}
Exemplo n.º 20
0
/**************************************************************************
 * FUNCTION:      U_printSaAmfHAState
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     none
 * NOTE:
 *************************************************************************/
void U_printSaAmfHAState(const char *msg, const SaAmfHAStateT haState)
{
	_TRACE_INLINE("%s", msg);
	switch (haState) {
	case SA_AMF_HA_ACTIVE:
		_TRACE2("HA ACTIVE (%d)\n", haState);
		break;
	case SA_AMF_HA_STANDBY:
		_TRACE2("HA STANDBY (%d)\n", haState);
		break;
	case SA_AMF_HA_QUIESCED:
		_TRACE2("HA QUIESCED (%d)\n", haState);
		break;
	case SA_AMF_HA_QUIESCING:
		_TRACE2("HA QUIESCING (%d)\n", haState);
		break;
	default:
		_TRACE2("HA INVALID!!! (%d)\n", haState);
		break;
	}
}
/**************************************************************************
 * FUNCTION:      JNU_ComponentRegistry_initIDs_FromClass_OK
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     JNI_FALSE if an error occured, JNI_TRUE otherwise
 * NOTE: If JNI_FALSE is returned, then an exception is already pending!
 *************************************************************************/
static jboolean JNU_ComponentRegistry_initIDs_FromClass_OK(
    JNIEnv* jniEnv,
    jclass classComponentRegistry )
{

    // BODY

    _TRACE2( "NATIVE: Executing JNU_ComponentRegistry_initIDs_FromClass_OK(...)\n" );


    // get field IDs
    FID_amfLibraryHandle = (*jniEnv)->GetFieldID(
                                            jniEnv,
                                            classComponentRegistry,
                                            "amfLibraryHandle",
                                            "Lorg/saforum/ais/amf/AmfHandle;" );
    if( FID_amfLibraryHandle == NULL ){

        _TRACE2( "NATIVE ERROR: FID_amfLibraryHandle is NULL\n" );

        return JNI_FALSE; // EXIT POINT! Exception pending...
    }
    FID_componentName = (*jniEnv)->GetFieldID(
                                            jniEnv,
                                            classComponentRegistry,
                                            "componentName",
                                            "Ljava/lang/String;" );
    if( FID_componentName == NULL ){

        _TRACE2( "NATIVE ERROR: FID_componentName is NULL\n" );

        return JNI_FALSE; // EXIT POINT! Exception pending...
    }



    _TRACE2( "NATIVE: JNU_ComponentRegistry_initIDs_FromClass_OK(...) returning normally\n" );

        return JNI_TRUE;
}
Exemplo n.º 22
0
/**************************************************************************
 * FUNCTION:      U_printSaAmfCSIActiveDescriptor
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     none
 * NOTE:
 *************************************************************************/
void U_printSaAmfCSIActiveDescriptor(const char *msg,
				     const SaAmfCSIActiveDescriptorT
				     *activeDescriptorPtr)
{
	_TRACE_INLINE("%s", msg);

	_TRACE2("\t\ttransitionDescriptor: ");
	switch (activeDescriptorPtr->transitionDescriptor) {
	case SA_AMF_CSI_NEW_ASSIGN:
		_TRACE2("CSI NEW ASSIGN (%d)\n",
			activeDescriptorPtr->transitionDescriptor);
		break;
	case SA_AMF_CSI_QUIESCED:
		_TRACE2("CSI QUIESCED (%d)\n",
			activeDescriptorPtr->transitionDescriptor);
		break;
	case SA_AMF_CSI_NOT_QUIESCED:
		_TRACE2("CSI NOT QUIESCED (%d)\n",
			activeDescriptorPtr->transitionDescriptor);
		break;
	case SA_AMF_CSI_STILL_ACTIVE:
		_TRACE2("CSI STILL ACTIVE (%d)\n",
			activeDescriptorPtr->transitionDescriptor);
		break;
	default:
		_TRACE2("CSI INVALID!!! (%d)\n",
			activeDescriptorPtr->transitionDescriptor);
		break;
	}
	U_printSaName("\t\tactiveCompName: ",
		      &activeDescriptorPtr->activeCompName);
}
Exemplo n.º 23
0
/**************************************************************************
 * FUNCTION:      JNU_newStringFromSaNodeAddressT
 * TYPE:          internal function
 * OVERVIEW:      Creates a new String object from the specified
 *                  SaNodeAddressT parameter.
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     the newly created String
 * NOTE:
 *************************************************************************/
jstring JNU_newStringFromSaNodeAddressT(JNIEnv *jniEnv,
					const SaClmNodeAddressT
					*saClmNodeAddressPtr)
{
	// BODY
	assert(saClmNodeAddressPtr != NULL);
	assert(saClmNodeAddressPtr->length <= SA_CLM_MAX_ADDRESS_LENGTH);

	_TRACE2
		("NATIVE: Executing JNU_newStringFromSaNodeAddressT(...) MODIFIED \n");
	_TRACE2("NATIVE: saClmNodeAddress = %p ; saClmNodeAddress.length: %d\n",
		saClmNodeAddressPtr, saClmNodeAddressPtr->length);

	SaUint8T _eValue[SA_CLM_MAX_ADDRESS_LENGTH + 1];
	memcpy(_eValue, saClmNodeAddressPtr->value,
	       saClmNodeAddressPtr->length);
	_eValue[saClmNodeAddressPtr->length] = 0x00;

	_TRACE2("NATIVE: Creating a new String from %s\n", _eValue);

	return (*jniEnv)->NewStringUTF(jniEnv, (char *)_eValue);
}
Exemplo n.º 24
0
/**************************************************************************
 * FUNCTION:      JNU_CallbackResponse_initIDs_OK
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     JNI_FALSE if an error occured, JNI_TRUE otherwise
 * NOTE: If JNI_FALSE is returned, then an exception is already pending!
 *************************************************************************/
jboolean JNU_CallbackResponse_initIDs_OK(JNIEnv *jniEnv)
{

	_TRACE2("NATIVE: Executing JNU_CallbackResponse_initIDs_OK(...)\n");

	/* get CallbackResponse class & create a global reference right away */

	EnumCallbackResponse =
		JNU_GetGlobalClassRef(jniEnv, "org/saforum/ais/CallbackResponse");

	if (EnumCallbackResponse == NULL) {

		_TRACE2("NATIVE ERROR: EnumCallbackResponse is NULL\n");

		return JNI_FALSE;	/* EXIT POINT! */
	}

	/* get IDs */

	return JNU_CallbackResponse_initIDs_FromClass_OK(jniEnv,
							 EnumCallbackResponse);
}
Exemplo n.º 25
0
/**************************************************************************
 * FUNCTION:      JNU_jByteArray_link
 * TYPE:          internal function
 * OVERVIEW:      links the content of the Java
 *                byte array object to
 *                the specified native buffer.
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     JNI_FALSE if an error occured, JNI_TRUE otherwise
 * NOTE: -> If JNI_FALSE is returned, then an exception is already pending!
 *       -> A zero length java byte array is allowed, in which case
 *          the native buffer will be set to NULL
 *************************************************************************/
jboolean JNU_jByteArray_link(JNIEnv *jniEnv,
			     jbyteArray byteArray,
			     SaSizeT *saSizePtr, void **saBufferPtr)
{
	// VARIABLES
	jsize _len;
	// BODY
#ifndef NDEBUG
	assert(byteArray != NULL);
	assert(saSizePtr != NULL);
	assert(saBufferPtr != NULL);
	_TRACE2("NATIVE: Executing JNU_jByteArray_link(...)\n");
#endif				// NDEBUG
	// length
	_len = (*jniEnv)->GetArrayLength(jniEnv, byteArray);
	*saSizePtr = (SaSizeT)_len;
	// id
	if (_len == 0) {
		// we allow byteArray length to be 0 at this level!
#ifndef NDEBUG
		_TRACE2("NATIVE WARNING: _len is NULL\n");
#endif				// NDEBUG
		*saBufferPtr = NULL;
	} else {
		*saBufferPtr = (void *)
			(*jniEnv)->GetByteArrayElements(jniEnv, byteArray, NULL);
		if (*saBufferPtr == NULL) {
#ifndef NDEBUG
			_TRACE2("NATIVE ERROR: *saBufferPtr is NULL\n");
#endif				// NDEBUG
			return JNI_FALSE;	// OutOfMemoryError thrown already...
		}
	}

#ifndef NDEBUG
	_TRACE2("NATIVE: JNU_jByteArray_link(...) returning normally\n");
#endif				// NDEBUG
	return JNI_TRUE;
}
Exemplo n.º 26
0
/**************************************************************************
 * FUNCTION:      JNU_TrackFlags_initIDs_FromClass_OK
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     JNI_FALSE if an error occured, JNI_TRUE otherwise
 * NOTE: If JNI_FALSE is returned, then an exception is already pending!
 *************************************************************************/
static jboolean JNU_TrackFlags_initIDs_FromClass_OK(JNIEnv *jniEnv,
						    jclass enumTrackFlags)
{
	// BODY

	_TRACE2("NATIVE: Executing JNU_TrackFlags_initIDs_FromClass_OK(...)\n");

	// get field IDs
	FID_TF_value = (*jniEnv)->GetFieldID(jniEnv,
					     enumTrackFlags, "value", "I");
	if (FID_TF_value == NULL) {

		_TRACE2("NATIVE ERROR: FID_TF_value is NULL\n");

		return JNI_FALSE;	// EXIT POINT! Exception pending...
	}

	_TRACE2
		("NATIVE: JNU_TrackFlags_initIDs_FromClass_OK(...) returning normally\n");

	return JNI_TRUE;
}
Exemplo n.º 27
0
/**************************************************************************
 * FUNCTION:      JNU_Version_initIDs_OK
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     JNI_FALSE if an error occured, JNI_TRUE otherwise
 * NOTE: If JNI_FALSE is returned, then an exception is already pending!
 *************************************************************************/
jboolean JNU_Version_initIDs_OK(JNIEnv *jniEnv)
{

	// BODY

	_TRACE2("NATIVE: Executing JNU_Version_initIDs_OK(...)\n");

	// get Version class & create a global reference right away
	/*
	  ClassVersion =
	  (*jniEnv)->NewGlobalRef( jniEnv,
	  (*jniEnv)->FindClass( jniEnv,
	  "org/saforum/ais/Version" )
	  ); */
	ClassVersion = JNU_GetGlobalClassRef(jniEnv, "org/saforum/ais/Version");
	if (ClassVersion == NULL) {

		_TRACE2("NATIVE ERROR: ClassVersion is NULL\n");

		return JNI_FALSE;	// EXIT POINT! Exception pending...
	}
	// get IDs
	return JNU_Version_initIDs_FromClass_OK(jniEnv, ClassVersion);
}
Exemplo n.º 28
0
void CPigEngine::LoadScriptFile(CPigBehaviorScriptType* pScript,
  const WIN32_FIND_DATA* pffd, tstring strFileName)
{
  // Initialize the specified object
  HRESULT hr = pScript->Load(pffd, strFileName);
  if (SUCCEEDED(hr) && SUCCEEDED(hr = AddInvokeCommands(pScript)))
    return;

  // Display the error information
  IErrorInfo* pei;
  HRESULT hrEI = GetErrorInfo(0, &pei);
  _com_error err(hr, pei);
  _bstr_t bstrDesc(err.Description());
  _TRACE2("CPigEngine::LoadScriptFile(%s): %s\n", strFileName.c_str(),
    (bstrDesc.length()) ? LPCTSTR(bstrDesc) : err.ErrorMessage());
}
Exemplo n.º 29
0
/**************************************************************************
 * FUNCTION:      U_printSaNodeAddress
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     none
 * NOTE:
 *************************************************************************/
void U_printSaNodeAddress(const char *msg,
			  const SaClmNodeAddressT *saClmNodeAddressPtr)
{
	// BODY
	_TRACE2("%s", msg);
	if (saClmNodeAddressPtr->length > SA_CLM_MAX_ADDRESS_LENGTH) {
		_TRACE_INLINE("INVALID STRING (length: %d)\n",
			      saClmNodeAddressPtr->length);
	} else {
		SaUint8T _eValue[SA_CLM_MAX_ADDRESS_LENGTH + 1];
		memcpy(_eValue,
		       saClmNodeAddressPtr->value, saClmNodeAddressPtr->length);
		_eValue[saClmNodeAddressPtr->length] = 0x00;
		_TRACE_INLINE("%s (length: %d)\n", _eValue,
			      saClmNodeAddressPtr->length);
	}
}
Exemplo n.º 30
0
/**************************************************************************
 * FUNCTION:      U_printSaCheckpointCreationAttributes
 * TYPE:          internal function
 * OVERVIEW:
 * INTERFACE:
 *   parameters:  TODO
 *   returns:     none
 * NOTE:
 *************************************************************************/
void U_printSaCheckpointCreationAttributes(const char *msg,
					   const
					   SaCkptCheckpointCreationAttributesT
					   *saCheckpointCreationAttributesPtr)
{
	// BODY
	_TRACE_INLINE("%s", msg);
	_TRACE2("NATIVE: \t\t\tcreationFlags:%u\n",
		(unsigned int)saCheckpointCreationAttributesPtr->creationFlags);
	_TRACE2("NATIVE: \t\t\tcheckpointSize: %lu\n",
		(unsigned long)saCheckpointCreationAttributesPtr->
		checkpointSize);
	_TRACE2("NATIVE: \t\t\tretentionDuration: %lu\n",
		(unsigned long)saCheckpointCreationAttributesPtr->
		retentionDuration);
	_TRACE2("NATIVE: \t\t\tmaxSections:%u\n",
		(unsigned int)saCheckpointCreationAttributesPtr->maxSections);
	_TRACE2("NATIVE: \t\t\tmaxSectionSize: %lu\n",
		(unsigned long)saCheckpointCreationAttributesPtr->
		maxSectionSize);
	_TRACE2("NATIVE: \t\t\tmaxSectionIdSize: %lu\n",
		(unsigned long)saCheckpointCreationAttributesPtr->
		maxSectionIdSize);
}