Ejemplo n.º 1
0
static int
setFormat(JNIEnv *env, jobject jxil, InstanceState *inst)
{
    jboolean isInstance;
    jobject jStream;

    /*    Debug Message */
    PRINT("XILCapture in setFormat \n");

    jStream = GetObjectField(env, jxil, "stream",
				"Ljavax/media/protocol/SourceStream;");
    if (!jStream) {
	/*    Debug Message */
	PRINT("XILCapture setFormat failed to obtain stream \n");
	return 0;
    }
    isInstance = IsInstanceOf(env, jStream, 
			"com/sun/media/protocol/sunvideo/SunVideoSourceStream");
    if (!isInstance) {
	/*    Debug Message */
	PRINT("XILCapture setFormat stream not valid instance \n");
	return 0;
    }
    if (inst->do_cis == RAW) {
	return formatRaw(env, jxil, inst, jStream);
    } else if (inst->do_cis == JPEG) {
	return formatJpeg(env, jxil, inst, jStream);
    } else {
	return formatMpeg(env, jxil, inst, jStream);
    }
}
Ejemplo n.º 2
0
/*
 * Class:     java_lang_VMClassRegistry
 * Method:    isInstance
 * Signature: (Ljava/lang/Class;Ljava/lang/Object;)Z
 */
JNIEXPORT jboolean JNICALL Java_java_lang_VMClassRegistry_isInstance
  (JNIEnv *jenv, jclass, jclass clazz, jobject obj)
{
    // null object
    if (!obj) return JNI_FALSE;

    return IsInstanceOf(jenv, obj, clazz);
}
Ejemplo n.º 3
0
/* Disambiguating from multiple types, to the child types we need; in a single place */
static int GetFdFromUnknown(JNIEnv *env, jobject obj)
{
  if( IsInstanceOf(env, obj, "java/io/FileDescriptor") )
    return GetFdFromFileDescriptor(env, obj);
  else if( IsInstanceOf(env, obj, "java/nio/channels/spi/AbstractSelectableChannel") )
    return GetFdFromChannel(env, obj);
  else if( IsInstanceOf(env, obj, "java/net/DatagramSocket") )
    return GetFdFromObject(env, obj, "()Ljava/net/DatagramSocketImpl;",
                             "()Ljava/nio/channels/DatagramChannel;");
  else if( IsInstanceOf(env, obj, "java/net/Socket") )
    return GetFdFromObject(env, obj, "()Ljava/net/SocketImpl;",
                             "()Ljava/nio/channels/SocketChannel;");
  else if( IsInstanceOf(env, obj, "java/net/ServerSocket") )
    return GetFdFromObject(env, obj, "()Ljava/net/SocketImpl;",
                             "()Ljava/nio/channels/ServerSocketChannel;");
  /* Can add more socket types here as needed */
  return -EINVAL;
}
Ejemplo n.º 4
0
Cell *
RGnumeric_resolveCellReference(USER_OBJECT_ scell)
{
  Cell *cell = NULL;
  if(IsInstanceOf(scell, "GnumericCellRef")) {
     cell = (Cell*) RGnumeric_resolveInternalReference(VECTOR_ELT(scell, 0), (char *)NULL);
  } else {
      PROBLEM "Object not of GnumericCellRef class passed to resolveCellReference"
      ERROR;
  }

  return(cell);
}
Ejemplo n.º 5
0
int set_ether(JNIEnv *env,jobject packet,char *pointer){
	packet=GetObjectField(Packet,packet,"Ljpcap/packet/DatalinkPacket;","datalink");
	if(packet!=NULL && IsInstanceOf(packet,EthernetPacket)){
		struct ether_header *ether_hdr=(struct ether_header *)pointer;

		jbyteArray src=GetObjectField(EthernetPacket,packet,"[B","src_mac");
		jbyteArray dst=GetObjectField(EthernetPacket,packet,"[B","dst_mac");

		(*env)->GetByteArrayRegion(env,src,0,6,(char *)&ether_hdr->ether_src);
		(*env)->GetByteArrayRegion(env,dst,0,6,(char *)&ether_hdr->ether_dest);
		ether_hdr->ether_type=htons(GetShortField(EthernetPacket,packet,"frametype"));

  (*env)->ExceptionDescribe(env);
		return sizeof(struct ether_header);
	}
	return 0;
}
Ejemplo n.º 6
0
bool ReflectionMgr::IsInstanceOf(MetaClass* pCreator, const std::string& strClassName)
{
    throw_assert(NULL!=pCreator, "null check.");
    if(strClassName==pCreator->name)
        return true;

	// end of loop
    const std::string& strParent = pCreator->parent;
    if(strParent=="BaseObject" && strParent != strClassName)
        return false;

    MetaClass* pCreator_Parent = FindMetaClass(strParent);
    if(NULL==pCreator_Parent)
    {
        return false;
    }

    return IsInstanceOf(pCreator_Parent, strClassName);
}